On 10/08/2013 12:31 PM, Ian Romanick wrote: > On 10/08/2013 02:34 AM, Chris Forbes wrote: >> Some texturing ops are about to have nonconstant offset support; the >> offset in the header in these cases should be zero. >> >> Signed-off-by: Chris Forbes <[email protected]> >> --- >> src/mesa/drivers/dri/i965/brw_shader.cpp | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp >> b/src/mesa/drivers/dri/i965/brw_shader.cpp >> index 6b37f58..df7fa55 100644 >> --- a/src/mesa/drivers/dri/i965/brw_shader.cpp >> +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp >> @@ -370,7 +370,7 @@ brw_math_function(enum opcode op) >> uint32_t >> brw_texture_offset(ir_constant *offset) >> { >> - assert(offset != NULL); > > I think we should leave this assertion, but amend it to be > > /* If the driver does not support GL_ARB_gpu_shader5, the offset > * must be constant. > */ > assert(offset != NULL || ctx->Extensions.ARB_gpu_shader5);
Once we actually enable ARB_gpu_shader5, this won't be useful on Gen7+. I'm not sure if Chris is hoping to land his Sandybridge support for ARB_texture_gather or not (it has mad workarounds, but he's already done them...). If so, then your suggestion seems reasonable. I guess I have a mild preference for following Ian's suggestion, in case we ever do add Sandybridge support. But I'll leave the decision up to you, Chris. >> + if (!offset) return 0; /* nonconstant offset; caller will handle it. */ >> >> signed char offsets[3]; >> for (unsigned i = 0; i < offset->type->vector_elements; i++) >> > > _______________________________________________ > mesa-dev mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
