[Mesa-dev] [PATCH 3/7] i965: Assert that SYSTEM_VALUE_VERTEX_ID gets lowered
Kristian Høgsberg Kristensen
kristian.h.kristensen at intel.com
Wed Dec 16 12:07:47 PST 2015
Ian Romanick <idr at freedesktop.org> writes:
> On 12/15/2015 12:28 AM, Kristian Høgsberg Kristensen wrote:
>> fs_visitor::emit_vs_system_value() looks like it's trying to handle
>> SYSTEM_VALUE_VERTEX_ID, but we should never see that value in the
>> backend.
>> ---
>> src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
>> index 68f2548..d5193a9 100644
>> --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
>> +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
>> @@ -46,6 +46,7 @@ fs_visitor::emit_vs_system_value(int location)
>> vs_prog_data->uses_vertexid = true;
>> break;
>> case SYSTEM_VALUE_VERTEX_ID:
>> + unreachable("should have been lowered");
>> case SYSTEM_VALUE_VERTEX_ID_ZERO_BASE:
>> reg->reg_offset = 2;
>> vs_prog_data->uses_vertexid = true;
>>
>
> There was some reason that Ken and I decided to do this like this, but I
> don't remember what it was. I *think* this is probably a good change,
> but I'd like Ken to weigh in.
We're called from emit_system_values_block() which calls unreachable()
for nir_intrinsic_load_vertex_id and never passes SYSTEM_VALUE_VERTEX_ID
to us. We can't handle SYSTEM_VALUE_VERTEX_ID at this point and
we sholdn't silenty fall back to aa zero based ID.
Kristian
More information about the mesa-dev
mailing list