Re: [Mesa-dev] [PATCH 1/4] nir/split_var_copies: handle IMAGE and SAMPLER for bindless vars
On Wed, Apr 4, 2018 at 3:33 AM, Timothy Arceri wrote: > On 04/04/18 20:20, Karol Herbst wrote: > >> On Wed, Apr 4, 2018 at 2:23 AM, Jason Ekstrand >> wrote: >> >>> I have a very strong feeling that this isn't the only place where >>> reading/writing IMAGE and SAMPLER variables is going to cause NIR >>> heartburn. >>> For example, we have special cases in nir_validate for SUBROUTINE >>> variables >>> and we probably need IMAGE and SAMPLER support everywhere we have >>> SUBROUTINE >>> plus some (since you can write to them now as well). >>> >>> >> yeah. I was just making piglit happy here. I guess I will try to run >> it with some games using bindless_textures and fix all the crashes I >> encounter there at least. More piglit tests might be useful as well. >> Sadly I don't see any bindless_textures tests in the CTS :( >> > > I don't think games really use the spec to its full extent either. I had > Dawn of War 3 working without issue with just the uniform support > implemented on radeonsi. > Sounds like someone gets to write some more piglit tests. :-) --Jason > >> >>> On Tue, Apr 3, 2018 at 6:21 AM, Karol Herbst wrote: >>> Signed-off-by: Karol Herbst --- src/compiler/nir/nir_split_var_copies.c | 4 1 file changed, 4 insertions(+) diff --git a/src/compiler/nir/nir_split_var_copies.c b/src/compiler/nir/nir_split_var_copies.c index bc3ceedbdb8..231a89add4d 100644 --- a/src/compiler/nir/nir_split_var_copies.c +++ b/src/compiler/nir/nir_split_var_copies.c @@ -241,6 +241,10 @@ split_var_copies_block(nir_block *block, struct split_var_copies_state *state) ralloc_steal(state->dead_ctx, instr); } break; + /* for bindless those are uint64 */ + case GLSL_TYPE_IMAGE: + case GLSL_TYPE_SAMPLER: + assert(src_head->var->data.bindless); case GLSL_TYPE_INT: case GLSL_TYPE_UINT: case GLSL_TYPE_INT16: -- 2.14.3 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev >>> >>> >>> ___ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev >> >> ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/4] nir/split_var_copies: handle IMAGE and SAMPLER for bindless vars
On 04/04/18 20:20, Karol Herbst wrote: On Wed, Apr 4, 2018 at 2:23 AM, Jason Ekstrand wrote: I have a very strong feeling that this isn't the only place where reading/writing IMAGE and SAMPLER variables is going to cause NIR heartburn. For example, we have special cases in nir_validate for SUBROUTINE variables and we probably need IMAGE and SAMPLER support everywhere we have SUBROUTINE plus some (since you can write to them now as well). yeah. I was just making piglit happy here. I guess I will try to run it with some games using bindless_textures and fix all the crashes I encounter there at least. More piglit tests might be useful as well. Sadly I don't see any bindless_textures tests in the CTS :( I don't think games really use the spec to its full extent either. I had Dawn of War 3 working without issue with just the uniform support implemented on radeonsi. On Tue, Apr 3, 2018 at 6:21 AM, Karol Herbst wrote: Signed-off-by: Karol Herbst --- src/compiler/nir/nir_split_var_copies.c | 4 1 file changed, 4 insertions(+) diff --git a/src/compiler/nir/nir_split_var_copies.c b/src/compiler/nir/nir_split_var_copies.c index bc3ceedbdb8..231a89add4d 100644 --- a/src/compiler/nir/nir_split_var_copies.c +++ b/src/compiler/nir/nir_split_var_copies.c @@ -241,6 +241,10 @@ split_var_copies_block(nir_block *block, struct split_var_copies_state *state) ralloc_steal(state->dead_ctx, instr); } break; + /* for bindless those are uint64 */ + case GLSL_TYPE_IMAGE: + case GLSL_TYPE_SAMPLER: + assert(src_head->var->data.bindless); case GLSL_TYPE_INT: case GLSL_TYPE_UINT: case GLSL_TYPE_INT16: -- 2.14.3 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/4] nir/split_var_copies: handle IMAGE and SAMPLER for bindless vars
On Wed, Apr 4, 2018 at 2:23 AM, Jason Ekstrand wrote: > I have a very strong feeling that this isn't the only place where > reading/writing IMAGE and SAMPLER variables is going to cause NIR heartburn. > For example, we have special cases in nir_validate for SUBROUTINE variables > and we probably need IMAGE and SAMPLER support everywhere we have SUBROUTINE > plus some (since you can write to them now as well). > yeah. I was just making piglit happy here. I guess I will try to run it with some games using bindless_textures and fix all the crashes I encounter there at least. More piglit tests might be useful as well. Sadly I don't see any bindless_textures tests in the CTS :( > > On Tue, Apr 3, 2018 at 6:21 AM, Karol Herbst wrote: >> >> Signed-off-by: Karol Herbst >> --- >> src/compiler/nir/nir_split_var_copies.c | 4 >> 1 file changed, 4 insertions(+) >> >> diff --git a/src/compiler/nir/nir_split_var_copies.c >> b/src/compiler/nir/nir_split_var_copies.c >> index bc3ceedbdb8..231a89add4d 100644 >> --- a/src/compiler/nir/nir_split_var_copies.c >> +++ b/src/compiler/nir/nir_split_var_copies.c >> @@ -241,6 +241,10 @@ split_var_copies_block(nir_block *block, struct >> split_var_copies_state *state) >> ralloc_steal(state->dead_ctx, instr); >> } >> break; >> + /* for bindless those are uint64 */ >> + case GLSL_TYPE_IMAGE: >> + case GLSL_TYPE_SAMPLER: >> + assert(src_head->var->data.bindless); >>case GLSL_TYPE_INT: >>case GLSL_TYPE_UINT: >>case GLSL_TYPE_INT16: >> -- >> 2.14.3 >> >> ___ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev > > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/4] nir/split_var_copies: handle IMAGE and SAMPLER for bindless vars
I have a very strong feeling that this isn't the only place where reading/writing IMAGE and SAMPLER variables is going to cause NIR heartburn. For example, we have special cases in nir_validate for SUBROUTINE variables and we probably need IMAGE and SAMPLER support everywhere we have SUBROUTINE plus some (since you can write to them now as well). On Tue, Apr 3, 2018 at 6:21 AM, Karol Herbst wrote: > Signed-off-by: Karol Herbst > --- > src/compiler/nir/nir_split_var_copies.c | 4 > 1 file changed, 4 insertions(+) > > diff --git a/src/compiler/nir/nir_split_var_copies.c > b/src/compiler/nir/nir_split_var_copies.c > index bc3ceedbdb8..231a89add4d 100644 > --- a/src/compiler/nir/nir_split_var_copies.c > +++ b/src/compiler/nir/nir_split_var_copies.c > @@ -241,6 +241,10 @@ split_var_copies_block(nir_block *block, struct > split_var_copies_state *state) > ralloc_steal(state->dead_ctx, instr); > } > break; > + /* for bindless those are uint64 */ > + case GLSL_TYPE_IMAGE: > + case GLSL_TYPE_SAMPLER: > + assert(src_head->var->data.bindless); >case GLSL_TYPE_INT: >case GLSL_TYPE_UINT: >case GLSL_TYPE_INT16: > -- > 2.14.3 > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev