[Mesa-dev] [PATCH] nv50/ir, nvc0: add debug options for shader replacement

2018-05-29 Thread Rhys Perry
READ_PATH expect using CRC-32 checksums instead of program IDs and chip-specific binaries instead of GLSL. Signed-off-by: Rhys Perry --- src/gallium/auxiliary/tgsi/tgsi_util.h | 1 + src/gallium/drivers/nouveau/Makefile.sources | 2 + src/gallium/drivers/nouveau

Re: [Mesa-dev] [PATCH v2 4/5] nvc0: add support for programmable sample locations

2018-05-29 Thread Rhys Perry
less. On Mon, May 28, 2018 at 9:05 PM, Ilia Mirkin wrote: > ARB_sample_locaitons has all this stuff about a resolve of some sort > when you switch around the locations. I don't see anything here about > that. Thoughts? > > Also some more specific comments inline: >

[Mesa-dev] [PATCH v5] nv50/ir, nvc0: add debug options for shader replacement

2018-05-30 Thread Rhys Perry
eaders. This is all much like MESA_SHADER_DUMP_PATH and MESA_SHADER_READ_PATH expect using CRC-32 checksums instead of program IDs and chip-specific binaries instead of GLSL. Signed-off-by: Rhys Perry --- src/gallium/auxiliary/tgsi/tgsi_util.h | 1 + src/gallium/drivers/nouveau/Makefi

[Mesa-dev] [PATCH v3 0/5] Implement ARB_sample_locations for nvc0

2018-06-01 Thread Rhys Perry
o the feature is available on ES - decouple framebuffer and sample location state in the state tracker and nvc0 - rebase to upstream master Rhys Perry (5): mesa: add support for ARB_sample_locations gallium: add support for programmable sample locations st/mesa: add support for ARB_sample_loca

[Mesa-dev] [PATCH v3 2/5] gallium: add support for programmable sample locations

2018-06-01 Thread Rhys Perry
Signed-off-by: Rhys Perry Reviewed-by: Brian Paul (v2) Reviewed-by: Marek Olšák (v2) --- src/gallium/auxiliary/util/u_framebuffer.c | 30 + src/gallium/auxiliary/util/u_framebuffer.h | 5 +++ src/gallium/docs/source/context.rst | 14 src

[Mesa-dev] [PATCH v3 1/5] mesa: add support for ARB_sample_locations

2018-06-01 Thread Rhys Perry
Signed-off-by: Rhys Perry Reviewed-by: Brian Paul (v2) Reviewed-by: Marek Olšák (v2) --- src/mapi/glapi/gen/gl_API.xml | 104 + src/mesa/main/config.h | 9 ++ src/mesa/main/dd.h | 8 + src/mesa/main/extensions_table.h| 2

[Mesa-dev] [PATCH v3 3/5] st/mesa: add support for ARB_sample_locations

2018-06-01 Thread Rhys Perry
Signed-off-by: Rhys Perry Reviewed-by: Brian Paul (v2) Reviewed-by: Marek Olšák (v2) --- src/mesa/state_tracker/st_atom.h | 2 +- src/mesa/state_tracker/st_atom_list.h | 2 +- src/mesa/state_tracker/st_atom_msaa.c | 77 +- src/mesa/state_tracker

[Mesa-dev] [PATCH v3 4/5] nvc0: add support for programmable sample locations

2018-06-01 Thread Rhys Perry
Signed-off-by: Rhys Perry --- .../drivers/nouveau/codegen/nv50_ir_driver.h | 2 + .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 7 + .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 102 -- .../nouveau/codegen/nv50_ir_lowering_nvc0.h| 2 + src/gallium

[Mesa-dev] [PATCH v3 5/5] docs: document addition of GL_ARB_sample_locations for nvc0

2018-06-01 Thread Rhys Perry
Signed-off-by: Rhys Perry Reviewed-by: Brian Paul (v2) --- docs/features.txt | 2 +- docs/relnotes/18.2.0.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index e786bbecf4..2eac14fb32 100644 --- a/docs/features.txt +++ b

[Mesa-dev] [PATCH] nv50/ir: fix image stores with indirect handles

2018-06-05 Thread Rhys Perry
Having this if statement here prevented the next if statement from being reached in the case of image stores, which is needed for instructions with indirect bindless handles like "STORE TEMP[ADDR[2].x+1](1) ...". Signed-off-by: Rhys Perry --- src/gallium/drivers/nouve

[Mesa-dev] [PATCH 0/6] Fix Various Compilation Issues With Bindless

2018-06-06 Thread Rhys Perry
MP2HND and IMG2HND - IMG2HND with Kepler is not implemented Usage of bound handles as l-values and casting them is handled better than before though. Some tests for these changes have been posted on the piglit mailing list. Rhys Perry (6): gallium: add new SAMP2HND and IMG2HND opcodes nv50/ir: a

[Mesa-dev] [PATCH 6/6] glsl: fix function inlining with opaque parameters

2018-06-06 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/compiler/glsl/opt_function_inlining.cpp | 52 - 1 file changed, 44 insertions(+), 8 deletions(-) diff --git a/src/compiler/glsl/opt_function_inlining.cpp b/src/compiler/glsl/opt_function_inlining.cpp index 04690b6cf4..52f57da936

[Mesa-dev] [PATCH 4/6] glsl: allow ?: operator with images and samplers when bindless is enabled

2018-06-06 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/compiler/glsl/ast_to_hir.cpp | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index 3bf581571e..8a7dd62506 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src

[Mesa-dev] [PATCH 2/6] nv50/ir: add support for SAMP2HND on gk104+ and IMG2HND on gm107+

2018-06-06 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/codegen/nv50_ir.cpp| 2 ++ src/gallium/drivers/nouveau/codegen/nv50_ir.h | 2 ++ .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 22 +++ .../drivers/nouveau/codegen/nv50_ir_inlines.h | 4

[Mesa-dev] [PATCH 5/6] glsl, glsl_to_tgsi: fix sampler/image constants

2018-06-06 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/compiler/glsl/ir.cpp | 32 -- src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 14 ++--- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/src/compiler/glsl/ir.cpp b/src/compiler/glsl/ir.cpp index

[Mesa-dev] [PATCH 3/6] glsl_to_tgsi: allow bound samplers and images to be used as l-values

2018-06-06 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 55 +++- src/mesa/state_tracker/st_glsl_to_tgsi_private.h | 1 + 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa

[Mesa-dev] [PATCH 1/6] gallium: add new SAMP2HND and IMG2HND opcodes

2018-06-06 Thread Rhys Perry
This commit does not add support for the opcodes in gallivm or tgsi_to_nir.c Signed-off-by: Rhys Perry --- src/gallium/auxiliary/tgsi/tgsi_info.c | 2 ++ src/gallium/auxiliary/tgsi/tgsi_info_opcodes.h | 4 ++-- src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h | 3 +++ src/gallium/docs

Re: [Mesa-dev] [PATCH 0/6] Fix Various Compilation Issues With Bindless

2018-06-06 Thread Rhys Perry
Oops, I meant r-values, not l-values. Seems to meaning of the word in my head changed at some point. On Wed, Jun 6, 2018 at 8:55 PM, Rhys Perry wrote: > Previously, there were some errors in the compiler's implementation of > ARB_bindless_texture, mostly related to usage of bou

Re: [Mesa-dev] [PATCH 00/16] Move the Mesa Website to Sphinx

2018-06-08 Thread Rhys Perry
Might be good to do something like this: https://codepen.io/anon/pen/ERNdYJ So that those with NoScript or something won't have gears constantly rotating on their screen. On Fri, Jun 8, 2018 at 2:25 PM, Erik Faye-Lund wrote: > On Fri, Jun 8, 2018 at 2:06 PM, Rob Clark wrote: >> On Fri, Jun 8, 20

[Mesa-dev] [PATCH] nv50/ir: Improve performance of signed division by powers of two

2018-06-08 Thread Rhys Perry
Signed-off-by: Rhys Perry --- .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 29 +++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index

[Mesa-dev] [PATCH v2] nv50/ir: improve performance of signed division by powers of two

2018-06-09 Thread Rhys Perry
Changes in v2: - Stylistic changes - Use OP_SLCT instead of OP_SELP which only worked by luck - Fix issues in edge cases Signed-off-by: Rhys Perry --- .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 30 +++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a

[Mesa-dev] [PATCH] nv50/ir: fix TargetNVC0::insnCanLoadOffset()

2018-06-11 Thread Rhys Perry
Previously, TargetNVC0::insnCanLoadOffset() returned whether the offset could be set to a specific value. The IndirectPropagation pass expected it to return whether the offset could be increased. Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp | 1 + 1

[Mesa-dev] [PATCH 0/6] Fix Various Compilation Issues With Bindless

2018-06-11 Thread Rhys Perry
Ping to those who seem appropriate for this patch in case it was forgotten or missed. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH] nv50/ir: handle SHLADD in IndirectPropagation

2018-06-11 Thread Rhys Perry
hurt 0 0 0 0 0 Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp

[Mesa-dev] [PATCH v2 0/2] nv50/ir: SHLADD related improvements

2018-06-12 Thread Rhys Perry
helped 0 0 7120162016 hurt 0 0 52 19 19 Rhys Perry (2): nv50/ir: handle SHLADD in IndirectPropagation nv50/ir: move LateAlgebraicOpt back to right after ConstantFolding src/gallium/d

[Mesa-dev] [PATCH v2 2/2] nv50/ir: move LateAlgebraicOpt back to right after ConstantFolding

2018-06-12 Thread Rhys Perry
32 32 Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index

[Mesa-dev] [PATCH v2 1/2] nv50/ir: handle SHLADD in IndirectPropagation

2018-06-12 Thread Rhys Perry
0 Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 12 1 file changed, 12 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index 39177bd044..83fb1

[Mesa-dev] [PATCH 1/4] nv50/ir: add preliminary support for OP_XMAD

2018-06-13 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/codegen/nv50_ir.cpp| 3 ++- src/gallium/drivers/nouveau/codegen/nv50_ir.h | 14 .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 12 +-- .../drivers/nouveau/codegen/nv50_ir_print.cpp | 20

[Mesa-dev] [PATCH 4/4] nv50/ir: further optimize multiplication by immediates

2018-06-13 Thread Rhys Perry
74 23 23 Signed-off-by: Rhys Perry --- .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 123 ++--- src/util/bitscan.h | 26 + 2 files changed, 135 insertions(+), 14 deletions(-) diff --git a/src/gallium/dri

[Mesa-dev] [PATCH 3/4] nv50/ir: optimize imul/imad to xmads

2018-06-13 Thread Rhys Perry
t bytes helped 0 0 39 0 0 hurt 1 0 33422772277 Signed-off-by: Rhys Perry --- .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 53 ++ 1 file changed, 53 insertions(+) diff

[Mesa-dev] [PATCH 0/4] nv50/ir: Improve Performance of Integer Multiplication

2018-06-13 Thread Rhys Perry
in shared programs : 360704 -> 360704 (0.00%) total local used in shared programs : 20952 -> 20952 (0.00%) local sharedgpr inst bytes helped 0 0 255 680 680 hurt 0 0 128

[Mesa-dev] [PATCH 2/4] gm107/ir: add support for OP_XMAD on GM107+

2018-06-13 Thread Rhys Perry
Signed-off-by: Rhys Perry --- .../drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp | 61 ++ .../nouveau/codegen/nv50_ir_target_gm107.cpp | 6 ++- .../nouveau/codegen/nv50_ir_target_nvc0.cpp| 1 + 3 files changed, 67 insertions(+), 1 deletion(-) diff --git a/src

[Mesa-dev] [PATCH 0/4] nv50/ir: Improve Performance of Integer Multiplication

2018-06-13 Thread Rhys Perry
Forgot to CC you. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH 2/5] mesa, glsl: add support for EXT_shader_image_load_formatted

2018-06-15 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/compiler/glsl/ast_to_hir.cpp | 5 + src/compiler/glsl/glsl_parser_extras.cpp | 1 + src/compiler/glsl/glsl_parser_extras.h | 7 +++ src/mesa/main/extensions_table.h | 1 + src/mesa/main/mtypes.h | 1 + 5 files changed

[Mesa-dev] [PATCH 3/5] st/mesa: add support for EXT_shader_image_load_formatted

2018-06-15 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/mesa/state_tracker/st_extensions.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 467d9b0759..10342c1be2 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src

[Mesa-dev] [PATCH 1/5] gallium: add support for formatted image loads

2018-06-15 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/auxiliary/gallivm/lp_bld_limits.h | 1 + src/gallium/auxiliary/tgsi/tgsi_exec.h | 1 + src/gallium/drivers/nouveau/nv30/nv30_screen.c | 1 + src/gallium/drivers/nouveau/nv50/nv50_screen.c | 1 + src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 1

[Mesa-dev] [PATCH 4/5] nv50/ir: use suld.p on GM107+

2018-06-15 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/codegen/nv50_ir.h | 4 +++ .../drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp | 34 ++ .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 3 -- .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 27

[Mesa-dev] [PATCH 0/5] nvc0: Implement EXT_shader_image_load_formatted

2018-06-15 Thread Rhys Perry
the format used in an image operation before function inlining can be difficult, because formats don't have to (and currently can't) be specified in the paramter declaration. So this series leaves this issue to hopefully be resolved in a later patch. Rhys Perry (5): gallium: add s

[Mesa-dev] [PATCH 5/5] nvc0, nv50/ir: add support for formatted image loads on GM107+

2018-06-15 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 3 +-- src/gallium/drivers/nouveau/nvc0/nvc0_screen.c| 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp

Re: [Mesa-dev] [PATCH 2/5] mesa, glsl: add support for EXT_shader_image_load_formatted

2018-06-15 Thread Rhys Perry
Yeah, I think that's right. I must have misread something. On Fri, Jun 15, 2018 at 9:31 PM, Ilia Mirkin wrote: > On Fri, Jun 15, 2018 at 4:24 PM, Rhys Perry wrote: >> Signed-off-by: Rhys Perry >> --- >> src/compiler/glsl/ast_to_hir.cpp | 5 +

[Mesa-dev] [PATCH 4/5] nv50/ir: use suld.p on GM107+

2018-06-15 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/codegen/nv50_ir.h | 4 +++ .../drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp | 34 ++ .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 3 -- .../drivers/nouveau/codegen/nv50_ir_print.cpp | 17

[Mesa-dev] [PATCH 2/5] mesa, glsl: add support for EXT_shader_image_load_formatted

2018-06-15 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/compiler/glsl/ast_to_hir.cpp | 5 + src/compiler/glsl/glsl_parser_extras.cpp | 1 + src/compiler/glsl/glsl_parser_extras.h | 7 +++ src/mesa/main/extensions_table.h | 1 + src/mesa/main/mtypes.h | 1 + 5 files changed

[Mesa-dev] [PATCH 1/5] gallium: add support for formatted image loads

2018-06-15 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/etnaviv/etnaviv_screen.c | 1 + src/gallium/drivers/freedreno/freedreno_screen.c | 1 + src/gallium/drivers/i915/i915_screen.c | 1 + src/gallium/drivers/llvmpipe/lp_screen.c | 1 + src/gallium/drivers/nouveau/nv30

[Mesa-dev] [PATCH 5/5] nvc0, nv50/ir: enable support for formatted image loads on GM107+

2018-06-15 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 3 +-- src/gallium/drivers/nouveau/nvc0/nvc0_screen.c| 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp

[Mesa-dev] [PATCH 3/5] st/mesa: add support for EXT_shader_image_load_formatted

2018-06-15 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/mesa/state_tracker/st_extensions.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 467d9b0759..115472d790 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src

[Mesa-dev] [PATCH 0/5] nvc0: Implement EXT_shader_image_load_formatted

2018-06-15 Thread Rhys Perry
ently can't) be specified in the paramter declaration. So this series leaves this issue to hopefully be resolved in a later patch. Rhys Perry (5): gallium: add support for formatted image loads mesa,glsl: add support for EXT_shader_image_load_formatted st/mesa: add s

[Mesa-dev] [PATCH] nv50/ir: Improve Maintainability of Target*::initOpInfo()

2018-06-16 Thread Rhys Perry
This is mainly useful for when one needs to add new opcodes in a painless and reliable way. Signed-off-by: Rhys Perry --- .../drivers/nouveau/codegen/nv50_ir_target_nv50.cpp | 21 - .../drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp | 20 +++- 2 files

[Mesa-dev] [PATCH 2/2] nvc0: remove magic values in nve4_set_tex_handles()

2018-06-22 Thread Rhys Perry
With this commit, things no longer break if NVC0_CB_AUX_TEX_INFO is changed to anything other than 0x20. Fixes: 902bbda81b31bacb2a8c60ca6a8ba8ca34ae73d3 ("nvc0: avoid using magic numbers for the uniform_bo offsets") Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/nvc0/

[Mesa-dev] [PATCH 1/2] nvc0: remove NVC0_CB_AUX_UNK_INFO

2018-06-22 Thread Rhys Perry
It doesn't seem to be used and removing it doesn't seem to break things on my GP106. Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/nvc0/nvc0_context.h | 3 --- src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 8 +--- 2 files changed, 1 insertion(+), 10 deletions(-)

[Mesa-dev] [PATCH 0/3] nv50/ir: Cleanups to Target*::initOpInfo()

2018-06-29 Thread Rhys Perry
I don't have push access. Rhys Perry (3): nv50/ir: improve maintainability of Target*::initOpInfo() configure: require c++11 for the gallium nouveau driver nv50/ir: use range-based for loops in Target*::initOpInfo() configure.ac | 4 ++ .../no

[Mesa-dev] [PATCH 3/3] nv50/ir: use range-based for loops in Target*::initOpInfo()

2018-06-29 Thread Rhys Perry
Signed-off-by: Rhys Perry --- .../nouveau/codegen/nv50_ir_target_nv50.cpp| 54 +++--- .../nouveau/codegen/nv50_ir_target_nvc0.cpp| 16 +++ 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50

[Mesa-dev] [PATCH 1/3] nv50/ir: improve maintainability of Target*::initOpInfo()

2018-06-29 Thread Rhys Perry
This is mainly useful for when one needs to add new opcodes in a painless and reliable way. Signed-off-by: Rhys Perry Reviewed-by: Karol Herbst --- .../drivers/nouveau/codegen/nv50_ir_target_nv50.cpp | 21 - .../drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp | 20

[Mesa-dev] [PATCH 2/3] configure: require c++11 for the gallium nouveau driver

2018-06-29 Thread Rhys Perry
Signed-off-by: Rhys Perry --- configure.ac | 4 1 file changed, 4 insertions(+) diff --git a/configure.ac b/configure.ac index f135d05736..16d1832578 100644 --- a/configure.ac +++ b/configure.ac @@ -2678,6 +2678,10 @@ if test -n "$with_gallium_drivers&q

Re: [Mesa-dev] [PATCH 0/3] nv50/ir: Cleanups to Target*::initOpInfo()

2018-06-29 Thread Rhys Perry
Just read the IRC logs and saw that things seemed to settle to "let's not require c++11 in nouveau", so ignore the second and third patches I guess. On Fri, Jun 29, 2018 at 11:57 AM, Rhys Perry wrote: > I don't have push access. > > Rhys Perry (3): > nv50/ir: i

[Mesa-dev] [PATCH v2] nv50/ir: improve maintainability of Target*::initOpInfo()

2018-06-29 Thread Rhys Perry
This is mainly useful for when one needs to add new opcodes in a painless and reliable way. Signed-off-by: Rhys Perry --- Changes in v2: - use operation instead of uint32_t - use ARRAY_SIZE() - add "set below" comments I don't have push access. .../nouveau/codegen/nv50_ir_

[Mesa-dev] [PATCH v6] nv50/ir, nvc0: add debug options for shader replacement

2018-07-02 Thread Rhys Perry
tory that is searched to find replacement binaries and headers. This is all much like MESA_SHADER_DUMP_PATH and MESA_SHADER_READ_PATH expect using CRC-32 checksums instead of program IDs and chip-specific binaries instead of GLSL. Signed-off-by: Rhys Perry --- src/gallium/auxiliary/tgsi/tgsi_ut

[Mesa-dev] [PATCH] nvc0: implement multisampled images on Maxwell+

2018-07-03 Thread Rhys Perry
Signed-off-by: Rhys Perry --- .../drivers/nouveau/codegen/nv50_ir_lowering_gm107.cpp | 16 .../drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp| 3 +++ .../drivers/nouveau/codegen/nv50_ir_lowering_nvc0.h | 2 +- src/gallium/drivers/nouveau/nv50/nv50_resource.h

[Mesa-dev] [PATCH v2] nvc0: implement multisampled images on Maxwell+

2018-07-04 Thread Rhys Perry
Changes in v2: - make loadSuInfo32() protected without making the rest protected - move NVC0_SU_INFO_* into nv50_ir_lowering_nvc0.h instead of duplicating NVC0_SU_INFO_MS Signed-off-by: Rhys Perry --- .../nouveau/codegen/nv50_ir_lowering_gm107.cpp | 13 + .../nouveau/codegen

[Mesa-dev] [PATCH] gm107/ir: combine 32-bit constant loads into 64-bit ones

2018-07-05 Thread Rhys Perry
4 hurt 0 01579 97 97 Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp| 5 + src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp | 9 ++--- 2 files changed, 7 insertions(+), 7 deletions(-)

Re: [Mesa-dev] [PATCH] gm107/ir: combine 32-bit constant loads into 64-bit ones

2018-07-05 Thread Rhys Perry
and we do too. Why change it? > > On Thu, Jul 5, 2018, 06:21 Rhys Perry wrote: >> >> Seems to increase GPR count by a few in some shaders, but also decreases >> instruction count by a bit. >> >> This should only combine them when a mov can not be used (whe

[Mesa-dev] [PATCH] nvc0/ir: use the combined tid special register

2018-07-06 Thread Rhys Perry
l sharedgpr inst bytes helped 0 0 0 5 5 hurt 0 0 0 191 191 Signed-off-by: Rhys Perry --- Instead of combining SV_TID reads into a SV_COMBINED_TID read, this has SV_TID reads

[Mesa-dev] [PATCH v2 3/3] nvc0: use a macro to write query result availability to a buffer

2018-04-16 Thread Rhys Perry
Both the availability and result paths shared a bit of code so they were marged. Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/nvc0/mme/com9097.mme | 45 src/gallium/drivers/nouveau/nvc0/mme/com9097.mme.h | 34 ++ src/gallium/drivers/nouveau/nvc0/nvc0_macros.h

[Mesa-dev] [PATCH v2 0/3] nvc0: Various improvements to nvc0_hw_get_query_result_resource

2018-04-16 Thread Rhys Perry
This patch set applies improvements related to the query buffer object functionality of the nvc0 driver. Changes in v2: - Increase space requirement in patch 3 to ensure there is room for fence emission. Rhys Perry (3): nvc0: set current bufctx to nvc0->bufctx at the end of nvc0_draw_

[Mesa-dev] [PATCH] nvc0: fix line width on GM20x+

2018-04-20 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/nvc0/nvc0_state.c| 9 + src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c b/src/gallium/drivers/nouveau/nvc0

[Mesa-dev] [PATCH] nvc0: fix line width on GM20x+

2018-04-20 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c index 99d45a238a..1977a04832 100644 --- a/src/gallium

[Mesa-dev] [PATCH] docs/features: mark GL_ARB_post_depth_coverage as DONE for nvc0

2018-04-21 Thread Rhys Perry
This was done a while ago but never marked on features.txt. Signed-off-by: Rhys Perry --- docs/features.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index d579d245eb..c561fd480a 100644 --- a/docs/features.txt +++ b/docs

[Mesa-dev] [PATCH v5 1/4] mesa: add support for nvidia conservative rasterization extensions

2018-04-26 Thread Rhys Perry
For Brian Paul: Since you seemed to have looked over v3 of this patch, you were Cc'd. Compared to v3, it fixes the style problems (including the CLAMP() thing) and adds ALWAYS_INLINE to conservative_raster_parameter(). ___ mesa-dev mailing list mesa

[Mesa-dev] [PATCH v6 0/4] Implement Various Conservative Rasterization Extensions

2018-04-27 Thread Rhys Perry
pipe_rasterizer_state - set the conservative rasterization state using a PGRAPH macro Changes in v2: - fix indentation error in gl_API.xml - fix code to handle earlier hardware Rhys Perry (4): mesa: add support for nvidia conservative rasterization extensions gallium: add initial support for

[Mesa-dev] [PATCH v6 3/4] st/mesa: add support for nvidia conservative rasterization extensions

2018-04-27 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/mesa/state_tracker/st_atom_rasterizer.c | 15 + src/mesa/state_tracker/st_context.c | 2 ++ src/mesa/state_tracker/st_extensions.c | 34 + 3 files changed, 51 insertions(+) diff --git a/src/mesa

[Mesa-dev] [PATCH v6 1/4] mesa: add support for nvidia conservative rasterization extensions

2018-04-27 Thread Rhys Perry
Although the specs are written against compatibility GL 4.3 and allows core profile and GLES2+, it is exposed for GL 1.0+ and GLES1 and GLES2+. Signed-off-by: Rhys Perry --- src/mapi/glapi/gen/gl_API.xml | 47 src/mapi/glapi/gen/gl_genexec.py| 1 + src/mesa

[Mesa-dev] [PATCH v7 0/4] Implement Various Conservative Rasterization Extensions

2018-04-27 Thread Rhys Perry
Rhys Perry (4): mesa: add support for nvidia conservative rasterization extensions gallium: add initial support for conservative rasterization st/mesa: add support for nvidia conservative rasterization extensions nvc0: add conservative rasterization support src/gallium/docs/source/cso

[Mesa-dev] [PATCH v7 1/4] mesa: add support for nvidia conservative rasterization extensions

2018-04-27 Thread Rhys Perry
Although the specs are written against compatibility GL 4.3 and allows core profile and GLES2+, it is exposed for GL 1.0+ and GLES1 and GLES2+. Signed-off-by: Rhys Perry --- src/mapi/glapi/gen/gl_API.xml | 47 src/mapi/glapi/gen/gl_genexec.py| 1 + src/mesa

[Mesa-dev] [PATCH] nv50/ir: fix printing of pixld

2018-05-03 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp index ab39f9fdf6..cbb21f5f72

[Mesa-dev] [PATCH 0/5] Implement ARB_sample_locations for nvc0

2018-05-04 Thread Rhys Perry
This patch set adds support for GL_ARB_sample_locations in mesa core, gallium, the mesa OpenGL state tracker and the nvc0 driver. Rhys Perry (5): mesa: add support for ARB_sample_locations gallium: add support for programmable sample locations st/mesa: add support for ARB_sample_locations

[Mesa-dev] [PATCH 4/5] nvc0: add support for programmable sample locations

2018-05-04 Thread Rhys Perry
Signed-off-by: Rhys Perry --- .../drivers/nouveau/codegen/nv50_ir_driver.h | 2 + .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 7 + .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 91 ++-- .../nouveau/codegen/nv50_ir_lowering_nvc0.h| 2 + src/gallium

[Mesa-dev] [PATCH 2/5] gallium: add support for programmable sample locations

2018-05-04 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/auxiliary/cso_cache/cso_context.c| 31 +++ src/gallium/auxiliary/cso_cache/cso_context.h| 5 src/gallium/auxiliary/util/u_framebuffer.c | 32 src/gallium/auxiliary/util/u_framebuffer.h

[Mesa-dev] [PATCH 1/5] mesa: add support for ARB_sample_locations

2018-05-04 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/mapi/glapi/gen/gl_API.xml | 52 +++ src/mesa/main/config.h | 7 + src/mesa/main/dd.h | 7 + src/mesa/main/extensions_table.h| 1 + src/mesa/main/fbobject.c| 247

[Mesa-dev] [PATCH 3/5] st/mesa: add support for ARB_sample_locations

2018-05-04 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/mesa/state_tracker/st_atom_framebuffer.c | 64 src/mesa/state_tracker/st_cb_msaa.c | 22 ++ src/mesa/state_tracker/st_extensions.c | 1 + 3 files changed, 87 insertions(+) diff --git a/src/mesa/state_tracker

[Mesa-dev] [PATCH 5/5] docs/features: mark GL_ARB_sample_locations as DONE for nvc0

2018-05-04 Thread Rhys Perry
Signed-off-by: Rhys Perry --- docs/features.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index b1eb9e91a2..cf15ac854f 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -305,7 +305,7 @@ Khronos, ARB, and OES extensions that

[Mesa-dev] [PATCH] mesa: fix error handling in get_framebuffer_parameteriv

2018-05-04 Thread Rhys Perry
CC: Signed-off-by: Rhys Perry --- src/mesa/main/fbobject.c | 72 +++- 1 file changed, 41 insertions(+), 31 deletions(-) diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index c72204e11a..0fc3319fe9 100644 --- a/src/mesa/main

Re: [Mesa-dev] [PATCH 3/5] st/mesa: add support for ARB_sample_locations

2018-05-08 Thread Rhys Perry
ks below. > > > > On 05/04/2018 06:09 AM, Rhys Perry wrote: >> >> Signed-off-by: Rhys Perry >> --- >> src/mesa/state_tracker/st_atom_framebuffer.c | 64 >> >> src/mesa/state_tracker/st_cb_msaa.c | 22 +

Re: [Mesa-dev] [PATCH 2/5] gallium: add support for programmable sample locations

2018-05-09 Thread Rhys Perry
It was put in pipe_context because get_sample_position was there. It's not really a strong reason to have it there though, so I'll put it in pipe_screen. On Wed, May 9, 2018 at 2:37 AM, Marek Olšák wrote: > BTW, is there any reason for get_sample_pixel_grid to be in pipe_context? It > seems that

[Mesa-dev] [PATCH v2 0/5] Implement ARB_sample_locations for nvc0

2018-05-10 Thread Rhys Perry
xpose NV_sample_locations so the feature is available on ES - decouple framebuffer and sample location state in the state tracker and nvc0 - rebase to upstream master Rhys Perry (5): mesa: add support for ARB_sample_locations gallium: add support for programmable sample locations st/mesa: add suppor

[Mesa-dev] [PATCH v2 4/5] nvc0: add support for programmable sample locations

2018-05-10 Thread Rhys Perry
Signed-off-by: Rhys Perry --- .../drivers/nouveau/codegen/nv50_ir_driver.h | 2 + .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 7 + .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 91 +-- .../nouveau/codegen/nv50_ir_lowering_nvc0.h| 2 + src/gallium

[Mesa-dev] [PATCH v2 1/5] mesa: add support for ARB_sample_locations

2018-05-10 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/mapi/glapi/gen/gl_API.xml | 104 + src/mesa/main/config.h | 9 ++ src/mesa/main/dd.h | 9 ++ src/mesa/main/extensions_table.h| 2 + src/mesa/main/fbobject.c| 256

[Mesa-dev] [PATCH v2 3/5] st/mesa: add support for ARB_sample_locations

2018-05-10 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/mesa/state_tracker/st_atom.h | 2 +- src/mesa/state_tracker/st_atom_list.h | 2 +- src/mesa/state_tracker/st_atom_msaa.c | 77 +- src/mesa/state_tracker/st_cb_msaa.c| 27 src/mesa/state_tracker

[Mesa-dev] [PATCH v2 2/5] gallium: add support for programmable sample locations

2018-05-10 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/auxiliary/util/u_framebuffer.c | 30 +++ src/gallium/auxiliary/util/u_framebuffer.h | 5 src/gallium/docs/source/context.rst | 3 +++ src/gallium/docs/source/screen.rst | 3 +++ src

[Mesa-dev] [PATCH v2 5/5] docs/features: mark GL_ARB_sample_locations as DONE for nvc0

2018-05-10 Thread Rhys Perry
Signed-off-by: Rhys Perry --- docs/features.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index e786bbecf4..2eac14fb32 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -305,7 +305,7 @@ Khronos, ARB, and OES extensions that

[Mesa-dev] [PATCH] nvc0: fix setting of subpixel precision during conservative rasterization

2018-05-11 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/nvc0/mme/com9097.mme | 2 +- src/gallium/drivers/nouveau/nvc0/mme/com9097.mme.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/nvc0/mme/com9097.mme b/src/gallium/drivers/nouveau/nvc0

[Mesa-dev] [PATCH] anv,nir: add generated files to .gitignore(s)

2018-05-11 Thread Rhys Perry
--- src/compiler/nir/.gitignore | 2 ++ src/intel/vulkan/.gitignore | 1 + 2 files changed, 3 insertions(+) diff --git a/src/compiler/nir/.gitignore b/src/compiler/nir/.gitignore index 64828eba6d..8faf93f0b2 100644 --- a/src/compiler/nir/.gitignore +++ b/src/compiler/nir/.gitignore @@ -3,3 +3,5 @

[Mesa-dev] [PATCH] nv50/ir: add debug options for shader replacement

2018-05-19 Thread Rhys Perry
The NV50_PROG_DUMP environment variable specifies a (already created) directory to dump both shader binaries and tgsi code. The NV50_PROG_REPLACE environment variable specified a (again, already created) directory that is searched to find replacement binaries. This is all much like MESA_SHADER_DUMP

[Mesa-dev] [PATCH] fix WaW errors in GM107 instruction scheduling

2018-05-19 Thread Rhys Perry
Previously, findFirstUse() only considered reads "uses". This fixes that by making it check both an instruction's sources and definitions. It also shortens both findFistUse() and findFirstDef() along the way. --- .../drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp | 103 ++--- 1 fi

[Mesa-dev] [PATCH v2] nv50/ir: add debug options for shader replacement

2018-05-19 Thread Rhys Perry
Changes in v2: - move "#ifdef DEBUG" from above dumpProgram to above createDumpFilename Previously, findFirstUse() only considered reads "uses". This fixes that by making it check both an instruction's sources and definitions. It also shortens both findFistUse() and findFirstDef() along the way.

[Mesa-dev] [PATCH v3] nv50/ir: add debug options for shader replacement

2018-05-22 Thread Rhys Perry
Changes in v2: - move "#ifdef DEBUG" from above dumpProgram to above createDumpFilename Changes in v3: - Fixed messed up patch description and diff - Use the checksum of the TGSI instead of the binary if possible The NV50_PROG_DUMP environment variable specifies a (already created) directory to du

[Mesa-dev] [PATCH v3 1/3] nvc0: ensure nvc0->bufctx is in effect in nvc0_hw_get_query_resource()

2018-05-22 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c b/src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c index a420ed4ac0..db5f5092ba 100644 --- a/src/gallium/drivers

[Mesa-dev] [PATCH v3 0/3] nvc0: Various improvements to nvc0_hw_get_query_result_resource

2018-05-22 Thread Rhys Perry
ase space requirement in patch 3 to ensure there is room for fence emission. Rhys Perry (3): nvc0: ensure nvc0->bufctx is in effect in nvc0_hw_get_query_resource() nvc0: rewrite query buffer write macro to output 64-bit predicates nvc0: use a macro to write query result availability to a

[Mesa-dev] [PATCH v3 3/3] nvc0: use a macro to write query result availability to a buffer

2018-05-22 Thread Rhys Perry
Both the availability and result paths shared a bit of code so they were marged. Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/nvc0/mme/com9097.mme | 45 src/gallium/drivers/nouveau/nvc0/mme/com9097.mme.h | 34 ++ src/gallium/drivers/nouveau/nvc0/nvc0_macros.h

[Mesa-dev] [PATCH v3 2/3] nvc0: rewrite query buffer write macro to output 64-bit predicates

2018-05-22 Thread Rhys Perry
Signed-off-by: Rhys Perry --- src/gallium/drivers/nouveau/nvc0/mme/com9097.mme | 91 -- src/gallium/drivers/nouveau/nvc0/mme/com9097.mme.h | 64 --- src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c | 81 ++- 3 files changed, 133 insertions

[Mesa-dev] [PATCH] glsl_to_tgsi: don't create 64-bit integer MAD/FMA

2018-10-21 Thread Rhys Perry
TGSI has no I64MAD/U64MAD opcode. Fixes: 278580729a5 ('st/glsl_to_tgsi: add support for 64-bit integers') Signed-off-by: Rhys Perry --- src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 4 1 file changed, 4 insertions(+) diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp

[Mesa-dev] [PATCH] nv50/ir: don't test for a 4th bit when count==3 in BitSet::findFreeRange

2018-10-28 Thread Rhys Perry
Requiring a 4th component to be free when only 3 is needed for compounds limits the RA's options. total instructions in shared programs : 7696203 -> 7695915 (-0.00%) total gprs used in shared programs: 804270 -> 802998 (-0.16%) total shared used in shared programs : 639636 -> 639636 (0.00%) t

  1   2   3   4   >