From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUStructurizeCFG.cpp | 66 ++
1 file changed, 66 insertions(+)
diff --git a/lib/Target/R600/AMDGPUStructurizeCFG.cpp
b/lib/Target/R600/AMDGPUStructurizeCFG.cpp
index c4c9762..86cb04a
From: Christian König
Using the new NearestCommonDominator class.
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUStructurizeCFG.cpp | 31 +-
1 file changed, 22 insertions(+), 9 deletions(-)
diff --git a/lib/Target/R600/AMDGPUStructurizeCFG.cpp
b/lib
From: Christian König
Generate more than one loop if it seems to make sense.
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUStructurizeCFG.cpp | 344 +-
1 file changed, 148 insertions(+), 196 deletions(-)
diff --git a/lib/Target/R600
From: Christian König
Stop adding more instructions than necessary.
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUStructurizeCFG.cpp | 40 +-
1 file changed, 39 insertions(+), 1 deletion(-)
diff --git a/lib/Target/R600/AMDGPUStructurizeCFG.cpp
b/lib
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUCodeEmitter.h| 45
lib/Target/R600/MCTargetDesc/AMDGPUMCCodeEmitter.h |7 ---
2 files changed, 52 deletions(-)
delete mode 100644 lib/Target/R600/AMDGPUCodeEmitter.h
diff
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrFormats.td | 66 +
lib/Target/R600/SIInstrInfo.td| 66 -
2 files changed, 66 insertions(+), 66 deletions(-)
diff --git a/lib/Target
From: Christian König
Previously it only worked because of coincident.
v2: fix 64bit versions, use 0x80 (inline 0) instead of SGPR0
for the unused SRC2
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrFormats.td | 53 +++--
1 file changed, 16
From: Christian König
Mark all the operands that can also have an immediate.
v2: SOFFSET is also an SSrc_32 operand
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrFormats.td | 36 +--
lib/Target/R600/SIInstructions.td | 128 ++---
lib
From: Christian König
Seems to be allot simpler, and also paves the
way for further improvements.
v2: rebased on master, use 0 in BUFFER_LOAD_FORMAT_XYZW,
use VGPR0 in dummy EXP, avoid compiler warning, break
after encoding the first literal.
Signed-off-by: Christian König
---
lib
From: Christian König
It's completely unnecessary and can be replace with proper
SReg_64 handling instead.
This actually fixes a piglit test on SI.
v2: use correct register class in addRegisterClass,
set special classes as not allocatable
Signed-off-by: Christian König
---
lib/T
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrInfo.td|4
lib/Target/R600/SIInstructions.td |5 +
2 files changed, 9 insertions(+)
diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td
index efc6015..8c4e5af 100644
Am 14.02.2013 12:05, schrieb Henri Verbeet:
On 14 February 2013 11:42, Christian König wrote:
nice work, I think you've made quite a progress here, but on the other hand
it should be clear that the LLVM backend is the future and we should
concentrate on that.
I'm not sure that
Please ignore this version of the patchset, it was send accidentally
from the wrong machine and so doesn't contain the correct patches.
Christian.
Am 14.02.2013 11:42, schrieb Christian König:
From: Christian König
Signed-off-by: Christian König
---
lib/Target
Am 14.02.2013 15:14, schrieb Michel Dänzer:
On Don, 2013-02-14 at 14:35 +0100, Michel Dänzer wrote:
On Don, 2013-02-14 at 11:43 +0100, Christian König wrote:
+// Only one literal allowed
+break;
The same literal could be used for several operands though. :)
Basically, it seems like
From: Christian König
Using the new NearestCommonDominator class.
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUStructurizeCFG.cpp | 31 +-
1 file changed, 22 insertions(+), 9 deletions(-)
diff --git a/lib/Target/R600/AMDGPUStructurizeCFG.cpp
b/lib
From: Christian König
Using the new NearestCommonDominator class.
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUStructurizeCFG.cpp |6 ++
1 file changed, 6 insertions(+)
diff --git a/lib/Target/R600/AMDGPUStructurizeCFG.cpp
b/lib/Target/R600/AMDGPUStructurizeCFG.cpp
index
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUStructurizeCFG.cpp | 66 ++
1 file changed, 66 insertions(+)
diff --git a/lib/Target/R600/AMDGPUStructurizeCFG.cpp
b/lib/Target/R600/AMDGPUStructurizeCFG.cpp
index c4c9762..86cb04a
From: Christian König
Generate more than one loop if it seems to make sense.
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUStructurizeCFG.cpp | 344 +-
1 file changed, 148 insertions(+), 196 deletions(-)
diff --git a/lib/Target/R600
From: Christian König
Stop adding more instructions than necessary.
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUStructurizeCFG.cpp | 40 +-
1 file changed, 39 insertions(+), 1 deletion(-)
diff --git a/lib/Target/R600/AMDGPUStructurizeCFG.cpp
b/lib
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUCodeEmitter.h| 45
lib/Target/R600/MCTargetDesc/AMDGPUMCCodeEmitter.h |7 ---
2 files changed, 52 deletions(-)
delete mode 100644 lib/Target/R600/AMDGPUCodeEmitter.h
diff
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrFormats.td | 66 +
lib/Target/R600/SIInstrInfo.td| 66 -
2 files changed, 66 insertions(+), 66 deletions(-)
diff --git a/lib/Target
From: Christian König
Previously it only worked because of coincident.
v2: fix 64bit versions, use 0x80 (inline 0) instead of SGPR0
for the unused SRC2
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrFormats.td | 53 +++--
1 file changed, 16
From: Christian König
Mark all the operands that can also have an immediate.
v2: SOFFSET is also an SSrc_32 operand
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrFormats.td | 36 +--
lib/Target/R600/SIInstructions.td | 128 ++---
lib
From: Christian König
Seems to be allot simpler, and also paves the
way for further improvements.
v2: rebased on master, use 0 in BUFFER_LOAD_FORMAT_XYZW,
use VGPR0 in dummy EXP, avoid compiler warning, break
after encoding the first literal.
v3: correctly use V_ADD_F32_e64
Signed-off
From: Christian König
It's completely unnecessary and can be replace with proper
SReg_64 handling instead.
This actually fixes a piglit test on SI.
v2: use correct register class in addRegisterClass,
set special classes as not allocatable
v3: revert setting special classes a
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrInfo.td|4
lib/Target/R600/SIInstructions.td |5 +
2 files changed, 9 insertions(+)
diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td
index efc6015..8c4e5af 100644
V_INTERP_MOV_F32 instead of hardcoding it there, and
add a special operand class for the parameter slots for type checking and
pretty printing.
NOTE: This is a candidate for the Mesa stable branch.
Signed-off-by: Michel Dänzer
Reviewed-by: Christian König
---
v3: Use operand class instead of register
Am 15.02.2013 12:00, schrieb Vadim Girlin:
On 02/14/2013 02:42 PM, Christian König wrote:
Hi Vadim,
nice work, I think you've made quite a progress here, but on the other
hand it should be clear that the LLVM backend is the future and we
should concentrate on that.
"LLVM back
Am 15.02.2013 22:25, schrieb Vadim Girlin:
On 02/15/2013 03:22 PM, Christian König wrote:
Am 15.02.2013 12:00, schrieb Vadim Girlin:
[SNIP]
Heaven 3.0, all settings high/enabled, 1280x720, HD5750:
default backend : 20.0 fps
llvm backend: 18.8 fps
r600-sb : 38.0 fps
Quite
Am 18.02.2013 20:11, schrieb Roland Scheidegger:
Am 18.02.2013 19:14, schrieb Michel Dänzer:
From: Michel Dänzer
11 more little piglits.
NOTE: This is a candidate for the 9.1 branch.
Signed-off-by: Michel Dänzer
---
Any ideas why this seems necessary with radeonsi but not with r600g?
Mayb
From: Christian König
Fixing asm operation names.
Signed-off-by: Christian König
---
lib/Target/R600/SIISelLowering.cpp |3 ---
lib/Target/R600/SIInstrInfo.td | 37 ++--
2 files changed, 18 insertions(+), 22 deletions(-)
diff --git a/lib/Target/R600
From: Christian König
Fixing asm operation names.
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrInfo.td | 36 ++--
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td
From: Christian König
Fixing asm operation names.
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUInstructions.td |5 +
lib/Target/R600/SIInstrInfo.td| 19 +-
lib/Target/R600/SIInstructions.td | 444 +++--
3 files changed, 213 insertions
From: Christian König
Those two files got mixed up.
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrFormats.td | 500 +++--
lib/Target/R600/SIInstrInfo.td| 495 +++-
2 files changed, 509 insertions(+), 486
From: Christian König
Fix code formating and sort/group the classes.
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrInfo.td | 100 +++-
1 file changed, 58 insertions(+), 42 deletions(-)
diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target
From: Christian König
Instead of using custom inserters, it's simpler and
should make DAG folding easier.
Signed-off-by: Christian König
---
lib/Target/R600/SIISelLowering.cpp | 36
lib/Target/R600/SIInstructions.td | 26 ++--
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUInstructions.td | 15 +++
lib/Target/R600/SIInstructions.td | 18 ++
2 files changed, 33 insertions(+)
diff --git a/lib/Target/R600/AMDGPUInstructions.td
b/lib/Target/R600
From: Christian König
It actually fixes quite a bunch of piglit tests.
Signed-off-by: Christian König
---
lib/Target/R600/SIISelLowering.cpp | 22 --
lib/Target/R600/SIISelLowering.h |2 --
lib/Target/R600/SIInstructions.td | 12 +---
3 files changed, 5
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrInfo.td | 12
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td
index 56ca03a..99168ce 100644
--- a/lib/Target/R600
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrInfo.td | 52 ++--
1 file changed, 34 insertions(+), 18 deletions(-)
diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td
index 05325db..56ca03a 100644
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrInfo.td |7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td
index cf0d5b9..8b90d45 100644
--- a/lib/Target/R600
From: Christian König
Fixing asm operation names.
v2: use ZERO constant, also add asm operands
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrInfo.td | 38 +-
1 file changed, 21 insertions(+), 17 deletions(-)
diff --git a/lib/Target/R600
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUInstructions.td | 15 +++
lib/Target/R600/SIInstructions.td | 18 ++
2 files changed, 33 insertions(+)
diff --git a/lib/Target/R600/AMDGPUInstructions.td
b/lib/Target/R600
From: Christian König
Fixing asm operation names.
v2: fix name of the e64 encoding, also add asm operands
Signed-off-by: Christian König
---
lib/Target/R600/AMDGPUInstructions.td |5 +
lib/Target/R600/SIInstrInfo.td| 23 +-
lib/Target/R600/SIInstructions.td | 444
From: Christian König
Order the classes and add asm operands.
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrInfo.td | 28 ++--
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp |4 ++
lib/Target/R600/SIInstructions.td | 45 +++--
2 files changed, 28 insertions(+), 21 deletions(-)
diff --git a/lib/Target/R600/InstPrinter
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/SIInstructions.td |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Target/R600/SIInstructions.td
b/lib/Target/R600/SIInstructions.td
index c1c7851..71ae33b 100644
--- a/lib/Target/R600
From: Christian König
Instead of using custom inserters, it's simpler and
should make DAG folding easier.
Signed-off-by: Christian König
---
lib/Target/R600/SIISelLowering.cpp | 36
lib/Target/R600/SIInstructions.td | 26 ++--
From: Christian König
Signed-off-by: Christian König
---
lib/Target/R600/SIInstructions.td | 14 +-
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/lib/Target/R600/SIInstructions.td
b/lib/Target/R600/SIInstructions.td
index 71ae33b..9ea26d2 100644
--- a/lib/Target
From: Christian König
Those two files got mixed up.
Signed-off-by: Christian König
---
lib/Target/R600/SIInstrFormats.td | 500 +--
lib/Target/R600/SIInstrInfo.td| 515 -
2 files changed, 527 insertions(+), 488
From: Christian König
Fixing asm operation names.
v2: use ZERO constant, also add asm operands
Signed-off-by: Christian König
---
lib/Target/R600/SIISelLowering.cpp |3 ---
lib/Target/R600/SIInstrInfo.td | 37 ++--
2 files changed, 19 insertions
From: Christian König
It actually fixes quite a bunch of piglit tests.
This is a candidate for the mesa-stable branch.
Signed-off-by: Christian König
---
lib/Target/R600/SIISelLowering.cpp | 22 --
lib/Target/R600/SIISelLowering.h |2 --
lib/Target/R600
Am 21.02.2013 09:26, schrieb Michel Dänzer:
On Mit, 2013-02-20 at 18:46 +0100, Christian König wrote:
diff --git a/lib/Target/R600/SIInstructions.td b/lib/Target/R600/SIInstructions.td
index 833e6cd..7c157e9 100644
--- a/lib/Target/R600/SIInstructions.td
+++ b/lib/Target/R600
Am 21.02.2013 09:39, schrieb Michel Dänzer:
On Mit, 2013-02-20 at 18:46 +0100, Christian König wrote:
diff --git a/lib/Target/R600/SIInstructions.td
b/lib/Target/R600/SIInstructions.td
index 700b8f8..866c7cb 100644
--- a/lib/Target/R600/SIInstructions.td
+++ b/lib/Target/R600/SIInstructions.td
Am 22.02.2013 07:44, schrieb Vinson Lee:
Fixes out-of-bounds write reported by Coverity.
Signed-off-by: Vinson Lee
Reviewed-by: Christian König
---
src/gallium/auxiliary/vl/vl_winsys_dri.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/auxiliary/vl
Am 22.02.2013 07:25, schrieb Vinson Lee:
Fixes resource leak defect reported by Coverity.
Signed-off-by: Vinson Lee
Reviewed-by: Christian König
---
src/gallium/state_trackers/vdpau/output.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/state_trackers/vdpau/output.c
b
Am 22.02.2013 07:18, schrieb Vinson Lee:
Fixes uninitialized scalar variable defect reported by Coverity.
Signed-off-by: Vinson Lee
Reviewed-by: Christian König
---
src/gallium/state_trackers/xvmc/tests/xvmc_bench.c | 4
1 file changed, 4 insertions(+)
diff --git a/src/gallium
Am 22.02.2013 17:02, schrieb Michel Dänzer:
From: Michel Dänzer
The number of coordinates to pack will be useful for other address parameters
as well.
Signed-off-by: Michel Dänzer
Very nice, for this series:
Reviewed-by: Christian König
---
src/gallium/drivers/radeonsi
From: Christian König
Signed-off-by: Christian König
---
.../drivers/radeon/radeon_setup_tgsi_llvm.c|2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
index f7b7586..f017b87
From: Christian König
So LLVM can better eliminate dead code.
Signed-off-by: Christian König
---
src/gallium/drivers/radeonsi/radeonsi_shader.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c
b/src/gallium/drivers/radeonsi
From: Christian König
Signed-off-by: Christian König
---
src/gallium/drivers/radeonsi/radeonsi_shader.c | 31 +---
1 file changed, 12 insertions(+), 19 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c
b/src/gallium/drivers/radeonsi
From: Christian König
Signed-off-by: Christian König
---
src/gallium/drivers/radeonsi/radeonsi_shader.c | 31 +---
1 file changed, 12 insertions(+), 19 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c
b/src/gallium/drivers/radeonsi
From: Christian König
Signed-off-by: Christian König
---
src/gallium/drivers/radeonsi/radeonsi_shader.c | 21 +++--
src/gallium/drivers/radeonsi/radeonsi_shader.h |1 +
2 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/gallium/drivers/radeonsi
From: Christian König
Signed-off-by: Christian König
---
src/gallium/drivers/radeon/radeon_llvm_emit.cpp | 22 ++
src/gallium/drivers/radeon/radeon_llvm_emit.h |2 ++
src/gallium/drivers/radeonsi/radeonsi_shader.c | 14 ++
3 files changed, 26
From: Christian König
Signed-off-by: Christian König
---
src/gallium/drivers/radeonsi/radeonsi_shader.c | 88 +++-
src/gallium/drivers/radeonsi/radeonsi_shader.h | 18 -
2 files changed, 72 insertions(+), 34 deletions(-)
diff --git a/src/gallium/drivers/radeonsi
From: Christian König
Signed-off-by: Christian König
---
src/gallium/drivers/r600/r600_llvm.c |1 +
src/gallium/drivers/radeon/radeon_llvm.h |3 +
.../drivers/radeon/radeon_setup_tgsi_llvm.c| 32 +++---
src/gallium/drivers/radeonsi/radeonsi_shader.c
Am 05.03.2013 18:18, schrieb Michel Dänzer:
On Die, 2013-03-05 at 15:27 +0100, Christian König wrote:
From: Christian König
Signed-off-by: Christian König
---
src/gallium/drivers/radeonsi/radeonsi_shader.c | 31 +---
1 file changed, 12 insertions(+), 19 deletions
loop with an unused variable incremented, the increment depends on
itself, but it's completely useless...
Christian.
- Mail original -
De : Michel Dänzer
À : Christian König
Cc : mesa-dev@lists.freedesktop.org
Envoyé le : Mardi 5 mars 2013 18h20
Objet : Re: [Mesa-dev] [PATCH
because it ends up trying to spill registers, which
we don't support yet (and which is probably a bad idea in general for
performance if it can be avoided).
NOTE: This is a candidate for the Mesa stable branch.
Signed-off-by: Michel Dänzer
Reviewed-by: Christian König
BTW: I played a
Hi everybody,
this problem has been open for quite some time now, with a bunch of different
opinions and sometimes even patches floating on the list.
The solutions proposed or implemented so far all more or less incomplete, so
this approach was designed in mind with both completeness and compatib
From: Christian König
Instead of emitting each temporary separately, emit them in a chunk.
Signed-off-by: Christian König
---
src/gallium/auxiliary/tgsi/tgsi_ureg.c | 53 ++--
1 file changed, 17 insertions(+), 36 deletions(-)
diff --git a/src/gallium/auxiliary
From: Christian König
Don't bother with free temporaries, just allocate them at
the end and also emit them in their own declaration.
Signed-off-by: Christian König
---
src/gallium/auxiliary/tgsi/tgsi_ureg.c | 55
src/gallium/auxiliary/tgsi/tgsi_ureg.h |
From: Christian König
Signed-off-by: Christian König
---
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 23 ++-
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index
From: Christian König
Instead of allocating everything as temporaries, use the
new array allocation functions.
Signed-off-by: Christian König
---
src/mesa/main/mtypes.h |1 +
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 83 ++--
2 files
From: Christian König
They shouldn't be necessary any more.
Signed-off-by: Christian König
---
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 36 +++-
1 file changed, 3 insertions(+), 33 deletions(-)
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
b/src
From: Christian König
Nobody seems to be using it, and only nv50 had a partial implementation.
Signed-off-by: Christian König
---
src/gallium/auxiliary/tgsi/tgsi_build.c| 19 -
src/gallium/auxiliary/tgsi/tgsi_dump.c | 38 -
src/gallium/auxiliary/tgsi
From: Christian König
To further improve the optimization of source and destination
indirect addressing we need the ability to store a reference
to the declaration of the addressed operands.
Since most of the fields in tgsi_src_register doesn't apply for
an indirect addressing operand re
Am 11.03.2013 14:47, schrieb Christoph Bumiller:
On 11.03.2013 13:44, Christian König wrote:
Hi everybody,
this problem has been open for quite some time now, with a bunch of different
opinions and sometimes even patches floating on the list.
Nice, finally someone implements a proper solution
wanted to discuss all the details first before
proceeding with anything that wouldn't be accepted.
A few more remarks inline.
- Original Message -
From: Christian König
To further improve the optimization of source and destination
indirect addressing we need the ability to store
Am 12.03.2013 02:48, schrieb Marek Olšák:
On Mon, Mar 11, 2013 at 1:44 PM, Christian König
wrote:
Hi everybody,
this problem has been open for quite some time now, with a bunch of different
opinions and sometimes even patches floating on the list.
The solutions proposed or implemented so far
nd send
out the resulting patches for a second round of reviews.
A few more remarks inline.
- Original Message -
From: Christian König
To further improve the optimization of source and destination
indirect addressing we need the ability to store a reference
to the declaration of the a
From: Christian König
Instead of emitting each temporary separately, emit them in a chunk.
v2: keep separate function for emitting temps
Signed-off-by: Christian König
---
src/gallium/auxiliary/tgsi/tgsi_ureg.c | 30 +-
1 file changed, 13 insertions(+), 17
From: Christian König
Don't bother with free temporaries, just allocate them at
the end and also emit them in their own declaration.
Signed-off-by: Christian König
---
src/gallium/auxiliary/tgsi/tgsi_ureg.c | 55
src/gallium/auxiliary/tgsi/tgsi_ureg.h |
Hello everyone,
this is the second round of this patchset.
Since the first round I made the following changes to it:
1. Add a new field ArrayID to the declaration instead of relaying on
referencing the N-th declaration.
2. Minor bugfix in glsl_to_tgsi and just like temps allocate arrays on first
From: Christian König
Signed-off-by: Christian König
---
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 23 ++-
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index
From: Christian König
Instead of allocating everything as temporaries, use the
new array allocation functions.
v2: fix bug in simplify_cmp, declare arrays on demand
Signed-off-by: Christian König
---
src/mesa/main/mtypes.h |1 +
src/mesa/state_tracker
From: Christian König
They shouldn't be necessary any more.
Signed-off-by: Christian König
---
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 36 +++-
1 file changed, 3 insertions(+), 33 deletions(-)
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
b/src
From: Christian König
Nobody seems to be using it, and only nv50 had a partial implementation.
Signed-off-by: Christian König
---
src/gallium/auxiliary/tgsi/tgsi_build.c| 19 -
src/gallium/auxiliary/tgsi/tgsi_dump.c | 38 --
src/gallium/auxiliary/tgsi
From: Christian König
Remember which declarations are declared as "arrays" and so
can be indirectly addressed. ArrayIDs start at 1, cause for
compatibility reasons zero is treaded as no array present.
Signed-off-by: Christian König
---
src/gallium/auxiliary/tgsi/tgsi_dump.c
From: Christian König
Signed-off-by: Christian König
---
src/gallium/docs/source/tgsi.rst | 16
1 file changed, 16 insertions(+)
diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst
index d9a7fe9..27fe039 100644
--- a/src/gallium/docs/source
From: Christian König
To further improve the optimization of source and destination
indirect addressing we need the ability to store a reference
to the declaration of the addressed operands.
Since most of the fields in tgsi_src_register doesn't apply for
an indirect addressing operand re
From: Christian König
Cleanup the code and implement indirect addressing.
Signed-off-by: Christian König
---
src/gallium/drivers/radeon/radeon_llvm.h | 32 +--
.../drivers/radeon/radeon_setup_tgsi_llvm.c| 241 +++-
2 files changed, 151 insertions(+), 122
From: Christian König
Signed-off-by: Christian König
---
src/gallium/drivers/radeonsi/radeonsi_shader.c | 34 +++-
src/gallium/drivers/radeonsi/si_state.c| 32 ++
2 files changed, 37 insertions(+), 29 deletions(-)
diff --git a/src/gallium
From: Christian König
Fixing 16 piglit tests.
Signed-off-by: Christian König
---
src/gallium/drivers/radeonsi/radeonsi_pipe.c |2 +-
src/gallium/drivers/radeonsi/radeonsi_shader.c |5 -
2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/gallium/drivers/radeonsi
Hi,
as promised here is the mesa part of my indirect addressing patchset for
radeonsi.
Based on the TGSI changes I've send out earlier today.
Please review,
Christian.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.
From: Christian König
Signed-off-by: Christian König
---
src/gallium/drivers/radeonsi/radeonsi_shader.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c
b/src/gallium/drivers/radeonsi/radeonsi_shader.c
index
Hi Vincent,
while I really appreciate your work, I think you're development is going
into the wrong direction here. Those copies you're trying to avoid (not
only with this patch, but also with the previous REG_SEQUENCE patches),
shouldn't happen in the first place. I'm not so deeply into the R
Am 14.03.2013 15:53, schrieb Christoph Bumiller:
On 14.03.2013 15:20, Christian König wrote:
From: Christian König
Signed-off-by: Christian König
---
src/gallium/docs/source/tgsi.rst | 16
1 file changed, 16 insertions(+)
diff --git a/src/gallium/docs/source/tgsi.rst b
registers with this patch.
Vincent
- Mail original -
De : Christian König
À : Vincent Lejeune
Cc : llvm-comm...@cs.uiuc.edu; mesa-dev@lists.freedesktop.org
Envoyé le : Vendredi 15 mars 2013 11h18
Objet : Re: [Mesa-dev] [PATCH] R600: Relax some vector constraints on Dot4.
Hi Vincent,
while I r
Am 15.03.2013 18:58, schrieb Christoph Bumiller:
On 15.03.2013 13:08, Christian König wrote:
Am 14.03.2013 15:53, schrieb Christoph Bumiller:
On 14.03.2013 15:20, Christian König wrote:
From: Christian König
Signed-off-by: Christian König
---
src/gallium/docs/source/tgsi.rst | 16
401 - 500 of 1819 matches
Mail list logo