Re: [Mesa-dev] [PATCH 1/4] nir/split_var_copies: handle IMAGE and SAMPLER for bindless vars

2018-04-04 Thread Jason Ekstrand
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

2018-04-04 Thread Timothy Arceri

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

2018-04-04 Thread Karol Herbst
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

2018-04-03 Thread Jason Ekstrand
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