[Mesa-dev] [PATCH] fbo-depth-array:Check completness with a color texture

2014-10-08 Thread Vincent Lejeune
--- tests/all.py| 2 +- tests/fbo/fbo-depth-array.c | 36 ++-- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/tests/all.py b/tests/all.py index 586cead..9aa600f 100644 --- a/tests/all.py +++ b/tests/all.py @@ -2831,7 +2831,7 @@ add_

[Mesa-dev] [PATCH] Copy Layered field in reuse_framebuffer_texture_attachment

2014-09-11 Thread Vincent Lejeune
Fix #83596 https://bugs.freedesktop.org/show_bug.cgi?id=83596 --- src/mesa/main/fbobject.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index ae3a418..5eaf1a3 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -2299,6

Re: [Mesa-dev] PATCHES: R600: Implement work-around for CF stack HW bug

2013-12-20 Thread Vincent Lejeune
Some cosmetic comments below, otherwise the patches are: reviewed-by: Vincent Lejeune >-OutStreamer.EmitRawText( >- Twine("; Kernel info:\n") + >- "; NumSgprs: " + Twine(KernelInfo.NumSGPR) + "\n" + >- "; NumVgprs:

[Mesa-dev] [PATCH] r600/llvm: Allow arbitrary amount of temps in tgsi to llvm

2013-12-06 Thread Vincent Lejeune
--- src/gallium/drivers/radeon/radeon_llvm.h | 6 +++ .../drivers/radeon/radeon_setup_tgsi_llvm.c| 43 -- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/radeon/radeon_llvm.h b/src/gallium/drivers/radeon/radeon_llvm.h inde

[Mesa-dev] [PATCH] r600/llvm: Allow arbitrary amount of temps in tgsi to llvm

2013-12-04 Thread Vincent Lejeune
--- src/gallium/drivers/radeon/radeon_llvm.h | 5 +++ .../drivers/radeon/radeon_setup_tgsi_llvm.c| 41 +++--- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/radeon/radeon_llvm.h b/src/gallium/drivers/radeon/radeon_llvm.h inde

Re: [Mesa-dev] [PATCH] R600: Make sure OQAP defs and uses happen in the same clause

2013-11-14 Thread Vincent Lejeune
This patch is : reviewed-by: Vincent Lejeune - Mail original - > De : Tom Stellard > À : Vincent Lejeune > Cc : "mesa-dev@lists.freedesktop.org" ; > "llvm-comm...@cs.uiuc.edu" ; Tom Stellard > > Envoyé le : Jeudi 14 novembre 2013 1h53 > Obje

[Mesa-dev] [PATCH] r600/llvm: Store inputs in function arguments

2013-11-11 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 119 +++ src/gallium/drivers/r600/r600_shader.c | 1 + src/gallium/drivers/radeon/radeon_llvm.h | 1 + 3 files changed, 121 insertions(+) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/

Re: [Mesa-dev] [PATCH] R600: Make sure OQAP defs and uses happen in the same clause

2013-11-03 Thread Vincent Lejeune
I have put some comments below but otherwise the patch is reviewed-by: Vincent Lejeune >-- next part -- >>From 2eb4673e3184af0e077cbe30a594602441e8d98e Mon Sep 17 00:00:00 2001 >From: >>Tom Stellard >Date: Thu, 5 Sep 2013 08:59:32 -0700 >Su

[Mesa-dev] [PATCH] R600: Use function inputs to represent data stored in gpr

2013-11-03 Thread Vincent Lejeune
--- lib/Target/R600/AMDGPUCallingConv.td| 15 - lib/Target/R600/R600ISelLowering.cpp| 55 ++-- lib/Target/R600/R600Instructions.td | 2 +- lib/Target/R600/R600Intrinsics.td | 8 ++- test/CodeGen/R600/big_alu.ll

[Mesa-dev] [PATCH] r600/llvm: Store inputs in function arguments

2013-11-03 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 125 - src/gallium/drivers/r600/r600_shader.c | 2 + src/gallium/drivers/radeon/radeon_llvm.h | 1 + .../drivers/radeon/radeon_setup_tgsi_llvm.c| 2 +- 4 files changed, 75 insertions(+)

[Mesa-dev] [PATCH 2/2] r600/llvm: Fix isampleBuffer on preEG

2013-10-30 Thread Vincent Lejeune
On R600/R700 hw the data are stored from the channel 2 of the second dword. --- src/gallium/drivers/r600/r600_llvm.c | 15 ++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index d7fa5f8..5afe3

[Mesa-dev] [PATCH 1/2] r600/llvm: Fix texbuf for pre EG gen

2013-10-30 Thread Vincent Lejeune
R600/R700 implementation of tex buffer fetch requires the result of the VFETCH instruction to be ANDed with R600_BUFFER_INFO_CONST_BUFFER, and the last channel to be ORed with the same const buffer. --- src/gallium/drivers/r600/r600_llvm.c | 29 + 1 file changed, 29 ins

Re: [Mesa-dev] [PATCH] R600: Make sure OQAP defs and uses happen in the same clause

2013-10-25 Thread Vincent Lejeune
ginal - > De : Tom Stellard > À : Vincent Lejeune > Cc : "llvm-comm...@cs.uiuc.edu" ; > "mesa-dev@lists.freedesktop.org" ; Tom > Stellard > Envoyé le : Mardi 22 octobre 2013 23h20 > Objet : Re: [PATCH] R600: Make sure OQAP defs and uses happen in the s

[Mesa-dev] [PATCH 2/2] r600/llvm: Fix isampleBuffer on preEG

2013-10-21 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 15 ++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index d7fa5f8..5afe3cb 100644 --- a/src/gallium/drivers/r600/r600_llvm.c +++ b/src/gallium/drive

[Mesa-dev] [PATCH 1/2] r600/llvm: Fix texbuf for pre EG gen

2013-10-21 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 29 + 1 file changed, 29 insertions(+) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index 34dd3ad..d7fa5f8 100644 --- a/src/gallium/drivers/r600/r600_llvm.c +++ b/src/gallium/driver

Re: [Mesa-dev] [PATCH] R600: Make sure OQAP defs and uses happen in the same clause

2013-10-21 Thread Vincent Lejeune
- Mail original - > De : Tom Stellard > À : llvm-comm...@cs.uiuc.edu > Cc : mesa-dev@lists.freedesktop.org; Tom Stellard > Envoyé le : Vendredi 11 octobre 2013 20h10 > Objet : [PATCH] R600: Make sure OQAP defs and uses happen in the same clause > > From: Tom Stellard > > Reading th

[Mesa-dev] [PATCH] radeonsi: Do not set both inreg and byval

2013-10-11 Thread Vincent Lejeune
--- src/gallium/drivers/radeonsi/radeonsi_shader.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c index ab996cc..209b77e 100644 --- a/src/gallium/drivers/radeonsi/radeonsi

Re: [Mesa-dev] [PATCH] R600/SI: Support byval arguments

2013-10-10 Thread Vincent Lejeune
freedesktop.org/archives/mesa-dev/2013-October/046022.html fixes the situation but requires the backend to provide a way to lower byval arguments. This patch provides such support. Vincent > > De : Tom Stellard >À : Vincent Lejeune >Cc : mesa-dev@lists.

[Mesa-dev] [PATCH] radeonsi: Do not set both inreg and byval

2013-10-09 Thread Vincent Lejeune
--- src/gallium/drivers/radeonsi/radeonsi_shader.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c index ab996cc..9d95997 100644 --- a/src/gallium/drivers/radeonsi/radeonsi_s

[Mesa-dev] [PATCH] R600/SI: Support byval arguments

2013-10-09 Thread Vincent Lejeune
--- lib/Target/R600/AMDGPUCallingConv.td | 7 ++- lib/Target/R600/SIISelLowering.cpp | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/Target/R600/AMDGPUCallingConv.td b/lib/Target/R600/AMDGPUCallingConv.td index d26be32..a194e6d 100644 --- a/lib/Target/R600/AMDGPU

Re: [Mesa-dev] PATCH: R600/SI: Enable the verifier on most lit tests

2013-10-08 Thread Vincent Lejeune
3rd patch is reviewed-by:Vincent Lejeune The first one >Subject: [PATCH 1/4] R600/SI: Mark the EXEC register as reserved > >This prevents the machine verifier from complaining about uses of >an undefined physical register. >--- > lib/Target/R600/SIRegisterInfo.cpp | 3 ++- > 1 file changed, 2 in

[Mesa-dev] [PATCH] radeonsi: Allow Sinking pass to move preloaded const/res/sampl

2013-10-06 Thread Vincent Lejeune
This fixes a crash in Unigine Heaven 3.0, and probably in some others apps. --- src/gallium/drivers/radeonsi/radeonsi_shader.c | 27 ++ src/gallium/drivers/radeonsi/si_state.h| 1 + 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers

[Mesa-dev] [PATCH] R600/SI: Add SinkingPass before ISel

2013-10-06 Thread Vincent Lejeune
--- lib/Target/R600/AMDGPUTargetMachine.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Target/R600/AMDGPUTargetMachine.cpp b/lib/Target/R600/AMDGPUTargetMachine.cpp index d77cddd..f28f27a 100644 --- a/lib/Target/R600/AMDGPUTargetMachine.cpp +++ b/lib/Target/R600/AMDGPUTargetMachine.c

[Mesa-dev] [PATCH] radeonsi: Allow Sinking pass to move preloaded const/res/sampl

2013-10-06 Thread Vincent Lejeune
This fixes a crash in Unigine Heaven 3.0, and probably in some others apps. --- src/gallium/drivers/radeonsi/radeonsi_shader.c | 20 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/ra

[Mesa-dev] [PATCH 4/4] r600/llvm: Adds support for MSAA

2013-09-30 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 47 +++- src/gallium/drivers/r600/r600_shader.c | 1 + src/gallium/drivers/radeon/radeon_llvm.h | 1 + 3 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/d

[Mesa-dev] [PATCH 3/4] r600g/llvm: Undef z and w component of 2D TXP inst

2013-09-30 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index 54291a1..c700f26 100644 --- a/src/gallium/drivers/r600/r600_llvm.c +++ b/src/gallium/drivers/r600/r600_llv

[Mesa-dev] [PATCH 1/4] r600g/llvm: fix sample cube shadow

2013-09-30 Thread Vincent Lejeune
--- src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c index 8ff9abd..ac2e511 100644 --- a/src/gallium/drivers/radeon/ra

[Mesa-dev] [PATCH 2/4] r600g/llvm: fix txq for texture buffer

2013-09-30 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 7 +-- src/gallium/drivers/r600/r600_shader.c | 1 + src/gallium/drivers/radeon/radeon_llvm.h | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c inde

[Mesa-dev] [PATCH] R600: Add a ldptr intrinsic to support MSAA.

2013-09-30 Thread Vincent Lejeune
--- lib/Target/R600/R600ISelLowering.cpp | 6 +- lib/Target/R600/R600Instructions.td | 4 lib/Target/R600/R600Intrinsics.td| 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/Target/R600/R600ISelLowering.cpp b/lib/Target/R600/R600ISelLowering.cpp index 126db73.

Re: [Mesa-dev] [PATCH] R600: Don't use trans slot for instructions that read LDS source registers

2013-09-08 Thread Vincent Lejeune
A few comments below, otherwise : reviewed-by: Vincent Lejeune - Mail original - > De : Tom Stellard > À : llvm-comm...@cs.uiuc.edu > Cc : mesa-dev@lists.freedesktop.org; Tom Stellard > Envoyé le : Vendredi 6 septembre 2013 0h23 > Objet : [PATCH] R600: Don'

Re: [Mesa-dev] R600 Patches: KCache kernel arguments and 24-bit arithmetic

2013-06-27 Thread Vincent Lejeune
The whole serie is : reviewed-by:Vincent Lejeune In a future patch we might also remove the ISD::BUILD_VECTOR case in the Select() function and use a tablegen pattern ; I wrote it because we lowered r600.load.input intrinsic to a raw register ; however now we lower it to a copy from a register

[Mesa-dev] R600: Bugfixes

2013-06-17 Thread Vincent Lejeune
Hi, these patches fix 2 bugs in R600 backend. The first one use the rv710/rv730 correct encoding for TEX clause with more than 8 instructions. This bug has been spoted there : https://bugs.freedesktop.org/show_bug.cgi?id=64257 The other patch fix a typo that causes instructions not to use PV/PS

Re: [Mesa-dev] R600 Patches: Add support for the local address space

2013-06-14 Thread Vincent Lejeune
Hi, Thank for your work on this ! Patch 2, 4 and 5 have my rb. >diff --git a/lib/Target/R600/R600InstrInfo.cpp >b/lib/Target/R600/R600InstrInfo.cpp >index b9da74c..6de47f7 100644 >--- a/lib/Target/R600/R600InstrInfo.cpp >+++ b/lib/Target/R600/R600InstrInfo.cpp >@@ -133,6 +133,12 @@ bool R600Ins

[Mesa-dev] [PATCH 1/2] r600g/llvm: fix sample cube shadow

2013-05-21 Thread Vincent Lejeune
--- src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c index 3f7e79f..f49170d 100644 --- a/src/gallium/drivers/radeon/ra

[Mesa-dev] [PATCH 2/2] r600g/llvm: fix txq for texture buffer

2013-05-21 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 7 +-- src/gallium/drivers/r600/r600_shader.c | 1 + src/gallium/drivers/radeon/radeon_llvm.h | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c inde

[Mesa-dev] [PATCH 3/4] r600g/llvm: Fix texelFetchOffset-2D

2013-05-20 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index 3d2c492..c1809b3 100644 --- a/src/gallium/drivers/r600/r600_llvm.c +++ b/src/gallium/drivers/r600/r600_llvm.c @@ -46

[Mesa-dev] [PATCH 4/4] r600g/llvm: fix cubemap lod/bias

2013-05-20 Thread Vincent Lejeune
--- src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c index 0629b89..3f7e79f 100644 --- a/src/gallium/drivers/radeon/radeon_setup_tgsi

[Mesa-dev] [PATCH 1/4] r600g/llvm: Factorize code loading from const buffer.

2013-05-20 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 51 +--- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index c6c9123..26d40a2 100644 --- a/src/gallium/drivers/r600/r600_llvm.c

[Mesa-dev] [PATCH 2/4] r600g/llvm: Fix cubearray textureSize

2013-05-20 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 15 +++ src/gallium/drivers/r600/r600_shader.c | 1 + src/gallium/drivers/radeon/radeon_llvm.h | 1 + 3 files changed, 17 insertions(+) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index 26

[Mesa-dev] [PATCH 1/4] r600g/llvm: Factorize code loading from const buffer.

2013-05-20 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 51 +--- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index c6c9123..26d40a2 100644 --- a/src/gallium/drivers/r600/r600_llvm.c

Re: [Mesa-dev] R600/SI Patches: A few cleanups for compute

2013-05-16 Thread Vincent Lejeune
Hi, >-- next part -- >>From dc547a89dac5039ce521f3c27fb23346251d488d Mon Sep 17 00:00:00 2001 >From: >>Tom Stellard >Date: Tue, 7 May 2013 16:26:26 -0400 >Subject: [PATCH 4/7] R600: Swap the legality of rotl and rotr > >The hardware supports rotr and not rotl. >--- > lib

Re: [Mesa-dev] [PATCH 2/2] R600: Fix encoding for R600 family GPUs

2013-05-14 Thread Vincent Lejeune
Thank for fixing this ! Both patches are reviewed-by: vljn at ovi.com - Mail original - > De : Tom Stellard > À : llvm-comm...@cs.uiuc.edu > Cc : mesa-dev@lists.freedesktop.org; Tom Stellard > Envoyé le : Mercredi 15 mai 2013 1h03 > Objet : [Mesa-dev] [PATCH 2/2] R600: Fix encoding fo

Re: [Mesa-dev] R600 Patchset: Emit true ISA

2013-05-06 Thread Vincent Lejeune
Reviewed-by:Vincent Lejeune - Mail original - > De : Tom Stellard > À : Vincent Lejeune > Cc : "llvm-comm...@cs.uiuc.edu" ; > "mesa-dev@lists.freedesktop.org" > Envoyé le : Lundi 6 mai 2013 17h02 > Objet : Re: R600 Patchset: Emit true ISA > &

Re: [Mesa-dev] R600 Patchset: Emit true ISA

2013-05-04 Thread Vincent Lejeune
Hi, Thank for doing this. Patches 1 2 and 3 have my rb. For patch 4: >@@ -125,9 +106,7 @@ MCCodeEmitter *llvm::createR600MCCodeEmitter(const >MCInstrInfo &MCII, > > void R600MCCodeEmitter::EncodeInstruction(const MCInst &MI, raw_ostream &OS, >SmallVectorI

[Mesa-dev] [PATCH] r600g/llvm: Undefines unrequired texture coord values

2013-04-30 Thread Vincent Lejeune
This is a port of "r600g:mask unused source components for SAMPLE" patch from Vadim Girlin. --- src/gallium/drivers/r600/r600_llvm.c | 25 - 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_l

[Mesa-dev] [PATCH] r600/llvm: use killgt info from llvm

2013-04-29 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 2 ++ src/gallium/drivers/r600/r600_llvm.h | 1 + src/gallium/drivers/r600/r600_shader.c | 8 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index 20

[Mesa-dev] [PATCH 3/3] R600: Make Export Instruction not duplicable

2013-04-10 Thread Vincent Lejeune
--- lib/Target/R600/R600Instructions.td | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Target/R600/R600Instructions.td b/lib/Target/R600/R600Instructions.td index 2e9a8a3..1c292bb 100644 --- a/lib/Target/R600/R600Instructions.td +++ b/lib/Target/R600/R600Instructions.td @

[Mesa-dev] [PATCH 2/3] R600: Export is emitted as a CF_NATIVE inst

2013-04-10 Thread Vincent Lejeune
--- lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 15 +-- lib/Target/R600/R600Instructions.td| 8 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp b/lib/Target/R600/MCTargetDesc/R600MCCo

[Mesa-dev] [PATCH 1/3] R600: Emit used GPRs count

2013-04-10 Thread Vincent Lejeune
--- lib/Target/R600/AMDGPUAsmPrinter.cpp | 35 +-- lib/Target/R600/AMDGPUAsmPrinter.h | 3 ++- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/lib/Target/R600/AMDGPUAsmPrinter.cpp b/lib/Target/R600/AMDGPUAsmPrinter.cpp index dacb033..580cfb4 1006

[Mesa-dev] [PATCH] R600: Add VTX_READ_* and RAT_WRITE_CACHELESS_* when computing cf addr

2013-04-09 Thread Vincent Lejeune
--- lib/Target/R600/R600ControlFlowFinalizer.cpp | 11 ++- test/CodeGen/R600/loop-adress.ll | 44 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 test/CodeGen/R600/loop-adress.ll diff --git a/lib/Target/R600/R600ControlFlowFinalize

[Mesa-dev] [PATCH] r600g/llvm: Add support for native isa for pre EG

2013-04-07 Thread Vincent Lejeune
This fixes bug 62756 : https://bugs.freedesktop.org/show_bug.cgi?id=62756#c12 (Requires corresponding llvm commit) --- src/gallium/drivers/r600/r600_asm.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_

[Mesa-dev] [PATCH] R600: Control Flow support for pre EG gen

2013-04-07 Thread Vincent Lejeune
--- lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 30 ++-- lib/Target/R600/R600ControlFlowFinalizer.cpp | 84 +++-- lib/Target/R600/R600Instructions.td| 198 +++-- 3 files changed, 240 insertions(+), 72 deletions(-) diff --git a/lib/Target/R600/M

Re: [Mesa-dev] [PATCH] r600g: don't reserve more stack space than required v4

2013-04-01 Thread Vincent Lejeune
- Mail original - > De : Vadim Girlin > À : Vincent Lejeune > Cc : Alex Deucher ; "mesa-dev@lists.freedesktop.org" > > Envoyé le : Dimanche 31 mars 2013 22h34 > Objet : Re: [Mesa-dev] [PATCH] r600g: don't reserve more stack space than > required v4 >

[Mesa-dev] [PATCH] R600: Add support for native control flow

2013-04-01 Thread Vincent Lejeune
--- lib/Target/R600/AMDGPU.h | 1 + lib/Target/R600/AMDGPUTargetMachine.cpp| 1 + lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 21 +- lib/Target/R600/R600ControlFlowFinalizer.cpp | 264 + lib/Target/R600/R600Instructions.

Re: [Mesa-dev] [PATCH] r600g: don't reserve more stack space than required v4

2013-03-31 Thread Vincent Lejeune
Hi Vadim, Does this patch work ? (It's still not pushed) I'm working on doing native control flow for llvm and intend to port your patch on the control flow reservation. Vincent - Mail original - > De : Vadim Girlin > À : Alex Deucher > Cc : mesa-dev@lists.freedesktop.org > Envoyé

[Mesa-dev] [PATCH] R600: Emit CF_ALU and use true kcache register.

2013-03-28 Thread Vincent Lejeune
--- lib/Target/R600/AMDGPU.h | 1 + lib/Target/R600/AMDGPUTargetMachine.cpp| 1 + lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 10 +- lib/Target/R600/R600EmitClauseMarkers.cpp | 250 + lib/Target/R600/R600Instructions.

[Mesa-dev] [PATCH 2/2] r600g/llvm: Add support for cf_alu native encode

2013-03-27 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_asm.c| 2 +- src/gallium/drivers/r600/r600_asm.h| 1 + src/gallium/drivers/r600/r600_shader.c | 14 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c i

[Mesa-dev] [PATCH 1/2] r600g/llvm: use native encode for tex

2013-03-27 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_shader.c | 50 ++ 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 29facf7..1e21559 100644 --- a/src/gallium/drivers/r600/r600_sha

[Mesa-dev] [PATCH 2/2] R600: Emit CF_ALU and use true kcache register.

2013-03-27 Thread Vincent Lejeune
--- lib/Target/R600/AMDGPU.h | 1 + lib/Target/R600/AMDGPUTargetMachine.cpp| 1 + lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 10 +- lib/Target/R600/R600EmitClauseMarkers.cpp | 243 + lib/Target/R600/R600Instructions.

[Mesa-dev] [PATCH 1/2] R600: Emit native instructions for tex

2013-03-27 Thread Vincent Lejeune
--- lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 169 + lib/Target/R600/R600Instructions.td| 156 +++ 2 files changed, 196 insertions(+), 129 deletions(-) diff --git a/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp b/lib/Target/R600

[Mesa-dev] [PATCH] r600g: Add get/set to handle ALLOC_EXPORT_RAT_WORD0

2013-03-19 Thread Vincent Lejeune
--- src/gallium/drivers/r600/eg_asm.c | 38 +++ src/gallium/drivers/r600/eg_sq.h | 59 src/gallium/drivers/r600/r600_asm.c| 119 + src/gallium/drivers/r600/r600_asm.h| 8 ++- src/gallium/drivers/r600/r600_shader.c | 3

[Mesa-dev] [PATCH] R600: Use CONSTANT_BUFFER_0 address space for Implicit Parameters

2013-03-16 Thread Vincent Lejeune
It allows the backend to generate reads to constant cache which are faster that VTX_READ. --- lib/Target/R600/R600ISelLowering.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Target/R600/R600ISelLowering.cpp b/lib/Target/R600/R600ISelLowering.cpp index a0e27ea..caa1899

Re: [Mesa-dev] Google Summer of Code ideas needed

2013-03-15 Thread Vincent Lejeune
Hi, If LLVM backend development is allowed, maybe a student could work on improving VLIW5 scheduling for R600 hardware. So far I focused on VLIW4 architecture, but extending the scheduler to support Trans ALU wouldn't be too hard. This would require a way to represent Trans slot compatibility fo

Re: [Mesa-dev] [PATCH] R600: Relax some vector constraints on Dot4.

2013-03-15 Thread Vincent Lejeune
;s why I wrote this patch. Besides, scalar values usually have shorter live interval, lowering register pressure. Shaders that have a dp4 instructions often end up consuming less registers with this patch. Vincent - Mail original ----- > De : Christian König > À : Vincent Lejeune &

[Mesa-dev] [PATCH] R600: Relax some vector constraints on Dot4.

2013-03-14 Thread Vincent Lejeune
Dot4 now uses 8 scalar operands instead of 2 vectors one which allows register coalescer to remove some unneeded COPY. This patch also defines some structures/functions that can be used to handle every vector instructions (CUBE, Cayman special instructions...) in a similar fashion. --- lib/Target/

Re: [Mesa-dev] [PATCH] R600: Factorize code handling Const Read Port limitation

2013-03-13 Thread Vincent Lejeune
I fixed the coding style issue. The include was a debug leftover line, it shouldn't be there. - Mail original - > De : Tom Stellard > À : Vincent Lejeune > Cc : llvm-comm...@cs.uiuc.edu; mesa-dev@lists.freedesktop.org > Envoyé le : Mercredi 13 mars 2013 21h49 >

[Mesa-dev] [PATCH] R600: Lower clamp constant to constant

2013-03-13 Thread Vincent Lejeune
--- lib/Target/R600/R600ISelLowering.cpp | 23 +++ test/CodeGen/R600/clamp-constants.ll | 20 2 files changed, 43 insertions(+) create mode 100644 test/CodeGen/R600/clamp-constants.ll diff --git a/lib/Target/R600/R600ISelLowering.cpp b/lib/Target/R600/R6

[Mesa-dev] [PATCH] R600: Factorize code handling Const Read Port limitation

2013-03-13 Thread Vincent Lejeune
--- lib/Target/R600/AMDILISelDAGToDAG.cpp| 34 ++ lib/Target/R600/R600InstrInfo.cpp| 54 ++ lib/Target/R600/R600InstrInfo.h | 3 ++ lib/Target/R600/R600MachineScheduler.cpp | 77 lib/Target/R600/R600MachineSched

[Mesa-dev] [PATCH] R600: Fix JUMP handling so that MachineInstr verification can occur

2013-03-08 Thread Vincent Lejeune
This allows R600 Target to use the newly created -verify-misched llc flag --- lib/Target/R600/AMDILCFGStructurizer.cpp| 8 +- lib/Target/R600/R600ISelLowering.cpp| 7 +- lib/Target/R600/R600InstrInfo.cpp | 66 ++-- lib/Target/R600/R600Instructions.td

Re: [Mesa-dev] [PATCH 7/7] radeon/llvm: enable LICM and DCE pass

2013-03-05 Thread Vincent Lejeune
LICM stands for Loop Invariant Code Motion. Instructions that does not depend of loop index are moved outside of loop body. (This solves one of llvm generated code Vadim pointed in another thread) DCE is DeadCodeElimination...I don't know the difference between "classic" DCE and aggressive DCE th

Re: [Mesa-dev] [PATCH 7/7] radeon/llvm: enable LICM and DCE pass

2013-03-05 Thread Vincent Lejeune
Reviewed-by: Vincent Lejeune - Mail original - > De : Christian König > À : mesa-dev@lists.freedesktop.org > Cc : mic...@daenzer.net > Envoyé le : Mardi 5 mars 2013 15h27 > Objet : [Mesa-dev] [PATCH 7/7] radeon/llvm: enable LICM and DCE pass > > From: Christi

[Mesa-dev] [PATCH 6/6] R600: initial scheduler code

2013-02-18 Thread Vincent Lejeune
single VLIW group). Also it tries to reduce clause switching by grouping instruction of the same kind (ALU/FETCH/CF) together. Vincent Lejeune: - Support for VLIW4 Slot assignement - Recomputation of ScheduleDAG to get more parallelism opportunities Tom Stellard: - Fix assertion failure when trying

[Mesa-dev] [PATCH 5/6] R600: Remove LowerConstCopyPass and lower CONST_COPY right after ISel.

2013-02-18 Thread Vincent Lejeune
Maintaining CONST_COPY Instructions until Pre Emit may prevent some ifcvt case and taking them in account for scheduling is difficult for no real benefit. --- lib/Target/R600/AMDGPU.h| 1 - lib/Target/R600/AMDGPUTargetMachine.cpp | 1 - lib/Target/R600/R600ISelLowering.cpp|

[Mesa-dev] [PATCH 4/6] R600: Fix for Unigine when MachineSched is enabled

2013-02-18 Thread Vincent Lejeune
--- lib/Target/R600/R600Instructions.td | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Target/R600/R600Instructions.td b/lib/Target/R600/R600Instructions.td index 0a777f1..74106c9 100644 --- a/lib/Target/R600/R600Instructions.td +++ b/lib/Target/R600/R600Instructions.td @@ -1587,6 +1587,

[Mesa-dev] [PATCH 3/6] R600: Turn BUILD_VECTOR into Reg_Sequence

2013-02-18 Thread Vincent Lejeune
--- lib/Target/R600/AMDILISelDAGToDAG.cpp | 29 + 1 file changed, 29 insertions(+) diff --git a/lib/Target/R600/AMDILISelDAGToDAG.cpp b/lib/Target/R600/AMDILISelDAGToDAG.cpp index 2e726e9..6b24117 100644 --- a/lib/Target/R600/AMDILISelDAGToDAG.cpp +++ b/lib/Target/R60

[Mesa-dev] [PATCH 2/6] R600: CONST_ADDRESS node is not marked as mayLoad anymore

2013-02-18 Thread Vincent Lejeune
mayLoad complexify scheduling and does not bring any usefull info as the location is not writeable at all. --- lib/Target/R600/R600Instructions.td | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Target/R600/R600Instructions.td b/lib/Target/R600/R600Instructions.td index e4

[Mesa-dev] [PATCH 1/6] R600: Use MUL_IEEE for trig/fdiv intrinsic

2013-02-18 Thread Vincent Lejeune
--- lib/Target/R600/R600Instructions.td | 8 test/CodeGen/R600/fdiv.v4f32.ll | 8 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/Target/R600/R600Instructions.td b/lib/Target/R600/R600Instructions.td index 0a01400..e4cc06e 100644 --- a/lib/Target/R600/R600

[Mesa-dev] Re : Re: r600g: status of my work on the shader optimization

2013-02-15 Thread Vincent Lejeune
I think the bad result of llvm can be explained because of the lack of muladd support currently. Unigine 3.0 has a lot of geometry and i suspect vertex shader being almost twice bigger than they are in tgsi case does not help. Fwiw with an hd 6950 I have the same performance in unigine 3 high, m

[Mesa-dev] [PATCH 4/4] r600g/llvm: Support for TBO

2013-02-14 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 29 + 1 file changed, 29 insertions(+) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index 59047e7..89bcb79 100644 --- a/src/gallium/drivers/r600/r600_llvm.c +++ b/src/gallium/driver

[Mesa-dev] [PATCH 3/4] r600g/llvm: Set Inputs/Outputs count to 32 (api reported value)

2013-02-14 Thread Vincent Lejeune
--- src/gallium/drivers/radeon/radeon_llvm.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/radeon/radeon_llvm.h b/src/gallium/drivers/radeon/radeon_llvm.h index bfeacb5..b1e025b 100644 --- a/src/gallium/drivers/radeon/radeon_llvm.h +++ b/src/gallium/d

[Mesa-dev] [PATCH 2/4] r600g/llvm: Fix alpha_to_one piglit tests

2013-02-14 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_llvm.c | 2 ++ src/gallium/drivers/r600/r600_shader.c | 1 + src/gallium/drivers/radeon/radeon_llvm.h | 1 + 3 files changed, 4 insertions(+) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index 7a41688..59047e7 10

[Mesa-dev] [PATCH 1/4] r600g/llvm: Add support for UBO

2013-02-14 Thread Vincent Lejeune
NOTE: This is a candidate for the Mesa stable branch. --- src/gallium/drivers/r600/r600_llvm.c| 6 +- src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 17 + 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/r600_llvm.c

[Mesa-dev] [PATCH 2/2] R600: Support for TBO

2013-02-14 Thread Vincent Lejeune
NOTE: This is a candidate for the Mesa stable branch. --- lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 3 +- lib/Target/R600/R600Instructions.td| 54 ++ lib/Target/R600/R600Intrinsics.td | 2 + 3 files changed, 58 insertions(+), 1 dele

[Mesa-dev] [PATCH 1/2] R600: Increase number of ArrayBase Reg to 32

2013-02-14 Thread Vincent Lejeune
--- lib/Target/R600/R600RegisterInfo.td | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Target/R600/R600RegisterInfo.td b/lib/Target/R600/R600RegisterInfo.td index 3812eb7..0718854 100644 --- a/lib/Target/R600/R600RegisterInfo.td +++ b/lib/Target/R600/R600RegisterInfo.

[Mesa-dev] [PATCH] r600g: Report Instructions Group count with R600_DUMP_SHADERS=1

2013-02-13 Thread Vincent Lejeune
--- src/gallium/drivers/r600/r600_asm.c | 7 ++- src/gallium/drivers/r600/r600_asm.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index 3632aa5..eacdb0c 100644 --- a/src/gallium/drivers/r600/r600

[Mesa-dev] [PATCH] R600: Do not fold single instruction with more that 3 kcache read

2013-02-12 Thread Vincent Lejeune
It fixes around 100 tfb piglit tests and 16 glean tests. NOTE: This is a candidate for the Mesa stable branch. --- lib/Target/R600/AMDILISelDAGToDAG.cpp | 2 ++ lib/Target/R600/R600LowerConstCopy.cpp | 2 +- test/CodeGen/R600/kcache-fold.ll | 52 ++ 3 file

[Mesa-dev] [PATCH] r600g/llvm: Add support for UBO

2013-02-12 Thread Vincent Lejeune
NOTE: This is a candidate for the Mesa stable branch. --- src/gallium/drivers/r600/r600_llvm.c| 10 +++--- src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 17 + src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 4 ++-- 3 files changed, 26 insertions(+

[Mesa-dev] [PATCH] R600/SI: Add support for indirect addressing of non default const buffer

2013-02-12 Thread Vincent Lejeune
NOTE: This is a candidate for the Mesa stable branch. --- lib/Target/R600/R600ISelLowering.cpp | 6 -- lib/Target/R600/R600Instructions.td | 9 - 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/Target/R600/R600ISelLowering.cpp b/lib/Target/R600/R600ISelLowering.cpp

[Mesa-dev] [PATCH] R600/SI: Do not fold single instruction with more that 3 kcache read

2013-02-12 Thread Vincent Lejeune
It fixes around 100 tfb piglit tests and 16 glean tests. NOTE: This is a candidate for the Mesa stable branch. --- lib/Target/R600/AMDILISelDAGToDAG.cpp | 2 ++ lib/Target/R600/R600LowerConstCopy.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/Target/R600/AMDILISelD

Re: [Mesa-dev] [PATCH] R600: Fix regression with shadow array sampler on pre-SI GPUs.

2013-02-11 Thread Vincent Lejeune
- Mail original - > De : Michel Dänzer > À : Vincent Lejeune > Cc : mesa-dev@lists.freedesktop.org > Envoyé le : Lundi 11 février 2013 17h53 > Objet : [PATCH] R600: Fix regression with shadow array sampler on pre-SI GPUs. > > From: Michel Dänzer >

[Mesa-dev] [PATCH 2/2] R600: initial scheduler code

2013-02-11 Thread Vincent Lejeune
single VLIW group). Also it tries to reduce clause switching by grouping instruction of the same kind (ALU/FETCH/CF) together. Vincent Lejeune: - Support for VLIW4 Slot assignement - Recomputation of ScheduleDAG to get more parallelism opportunities --- lib/Target/R600/AMDGPUTargetMachine.cpp | 17

[Mesa-dev] [PATCH 1/2] R600/SI: Turn BUILD_VECTOR into Reg_Sequence

2013-02-11 Thread Vincent Lejeune
--- lib/Target/R600/AMDILISelDAGToDAG.cpp | 24 1 file changed, 24 insertions(+) diff --git a/lib/Target/R600/AMDILISelDAGToDAG.cpp b/lib/Target/R600/AMDILISelDAGToDAG.cpp index b125ba8..2f34fe3 100644 --- a/lib/Target/R600/AMDILISelDAGToDAG.cpp +++ b/lib/Target/R600/AMD

[Mesa-dev] [PATCH] R600/SI: Use MULADD_IEEE/V_MAD_F32 instruction for mad pattern

2013-02-10 Thread Vincent Lejeune
--- lib/Target/R600/AMDGPUISelLowering.cpp | 10 +++--- lib/Target/R600/AMDGPUISelLowering.h | 1 - lib/Target/R600/AMDILISelLowering.cpp | 3 ++- lib/Target/R600/AMDILInstrInfo.td | 1 - lib/Target/R600/AMDILIntrinsics.td | 10 -- lib/Target/R600/R600Instructions.td

[Mesa-dev] [PATCH] R600: Use MULADD_IEEE instruction for mad pattern

2013-02-07 Thread Vincent Lejeune
--- lib/Target/R600/AMDGPUISelLowering.cpp | 10 +++--- lib/Target/R600/AMDGPUISelLowering.h | 1 - lib/Target/R600/AMDILISelLowering.cpp | 3 ++- lib/Target/R600/AMDILInstrInfo.td | 1 - lib/Target/R600/AMDILIntrinsics.td | 10 -- lib/Target/R600/R600Instructions.td

[Mesa-dev] [PATCH] R600: Do not fold modifier/litterals in vector inst

2013-02-06 Thread Vincent Lejeune
This fixes a couple of regressions on (probably not just) cayman --- lib/Target/R600/AMDILISelDAGToDAG.cpp | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/Target/R600/AMDILISelDAGToDAG.cpp b/lib/Target/R600/AMDILISelDAGToDAG.cpp index 84223f6..7fc3a2f 100644 --- a/l

[Mesa-dev] [PATCH 4/4] R600: Export instructions are no longer terminator

2013-02-03 Thread Vincent Lejeune
This allows MachineInstScheduler to reorder them, and thus make scheduling more efficient. --- lib/Target/R600/R600Instructions.td | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Target/R600/R600Instructions.td b/lib/Target/R600/R600Instructions.td index 3c043aa..82a63

[Mesa-dev] [PATCH 3/4] R600: Fold zero/one in export instructions

2013-02-03 Thread Vincent Lejeune
--- lib/Target/R600/R600ISelLowering.cpp | 111 --- lib/Target/R600/R600Instructions.td | 20 ++- lib/Target/R600/R600Intrinsics.td| 3 - 3 files changed, 55 insertions(+), 79 deletions(-) diff --git a/lib/Target/R600/R600ISelLowering.cpp b/lib/Target/

[Mesa-dev] [PATCH 2/4] R600: Do not fold modifier/litterals in vector inst

2013-02-03 Thread Vincent Lejeune
This fixes a couple of regressions on (probably not just) cayman --- lib/Target/R600/AMDILISelDAGToDAG.cpp | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/Target/R600/AMDILISelDAGToDAG.cpp b/lib/Target/R600/AMDILISelDAGToDAG.cpp index 84223f6..7fc3a2f 100644 --- a/l

[Mesa-dev] [PATCH 1/4] R600: Use MULADD_IEEE instruction for mad pattern

2013-02-03 Thread Vincent Lejeune
--- lib/Target/R600/AMDGPUISelLowering.cpp | 6 +++--- lib/Target/R600/AMDILISelLowering.cpp | 3 ++- lib/Target/R600/R600Instructions.td| 8 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/Target/R600/AMDGPUISelLowering.cpp b/lib/Target/R600/AMDGPUISelLowering.c

[Mesa-dev] [PATCH] R600: Fold remaining CONST_COPY after expand pseudo inst

2013-01-25 Thread Vincent Lejeune
--- lib/Target/R600/AMDGPUTargetMachine.cpp | 2 +- lib/Target/R600/R600LowerConstCopy.cpp | 170 +--- 2 files changed, 160 insertions(+), 12 deletions(-) diff --git a/lib/Target/R600/AMDGPUTargetMachine.cpp b/lib/Target/R600/AMDGPUTargetMachine.cpp index 7b069e7..

  1   2   3   4   5   >