[Mesa-dev] [PATCH 1/2] nir: retain pixel_center_integer information when lowering gl_FragCoord

Timothy Arceri tarceri at itsqueeze.com
Wed Feb 14 06:00:44 UTC 2018


On 14/02/18 16:24, Jason Ekstrand wrote:
> First off, you should add an index to the intrinsic if you're going to 
> do this and it should probably be set elsewhere.  Otherwise, it becomes 
> this magic secret radeonsi thing.

Ah yes that's how it's done, I thought there was a better way to do this 
thanks.

Although what do you mean by set it elsewhere? This is where the 
intrinsic is created and the system variable goes away I don't see how 
it can be set elsewhere.

> 
> Second, do you really want this on the intrinsic or would it be better 
> as part of shader_info?  It's always been weird to me that it's a layout 
> qualifier on gl_FragCoord.  In SPIR-V, it comes in as an execution mode 
> which is a very global thing.
> 
> On Tue, Feb 13, 2018 at 9:02 PM, Timothy Arceri <tarceri at itsqueeze.com 
> <mailto:tarceri at itsqueeze.com>> wrote:
> 
>     radeonsi needs to gather this information.
>     ---
>       src/compiler/nir/nir_lower_system_values.c | 9 +++++++++
>       1 file changed, 9 insertions(+)
> 
>     diff --git a/src/compiler/nir/nir_lower_system_values.c
>     b/src/compiler/nir/nir_lower_system_values.c
>     index 3594f4ae5c..f8d8463f7f 100644
>     --- a/src/compiler/nir/nir_lower_system_values.c
>     +++ b/src/compiler/nir/nir_lower_system_values.c
>     @@ -133,6 +133,15 @@ convert_block(nir_block *block, nir_builder *b)
>                break;
>             }
> 
>     +      case SYSTEM_VALUE_FRAG_COORD: {
>     +         nir_intrinsic_op sysval_op =
>     +            nir_intrinsic_from_system_value(var->data.location);
>     +         int idx = 0;
>     +         if (var->data.pixel_center_integer) {
>     +            idx = 1;
>     +         }
>     +         sysval = nir_load_system_value(b, sysval_op, idx);
>     +      }
>             default:
>                break;
>             }
>     --
>     2.14.3
> 
>     _______________________________________________
>     mesa-dev mailing list
>     mesa-dev at lists.freedesktop.org <mailto:mesa-dev at lists.freedesktop.org>
>     https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>     <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>
> 
> 


More information about the mesa-dev mailing list