[Mesa-dev] [PATCH 1/2] i965/gen8: Include the buffer offset when emitting renderbuffer relocs
Kristian Høgsberg
krh at bitplanet.net
Tue Jan 27 20:26:16 PST 2015
On Tue, Jan 27, 2015 at 8:16 PM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> On Tuesday, January 27, 2015 02:32:19 PM Jason Ekstrand wrote:
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88792
>> ---
>>
>> Yes, computing it from the surface state and bo->offset64 is a little
>> strange when we could just be using mt->offset. However, that's the way
>> it's done on all the other gens so I decided to be consistent.
>
> Yeah...I've never understood why that was done. It seems silly to me.
> Plus, with the uint64_t casts, it's even uglier.
>
> How about just supplying mt->offset?
I think it's an idiom that's been copied from other relocs where the
reloc value was a little more work to compute. Eg
surf[1] = (intel_renderbuffer_get_tile_offsets(irb, &tile_x, &tile_y) +
mt->bo->offset64 + mt->offset);
and
drm_intel_bo_emit_reloc(brw->batch.bo,
brw->wm.base.surf_offset[surf_index] + 4,
mt->bo,
surf[1] - mt->bo->offset64,
I915_GEM_DOMAIN_RENDER,
I915_GEM_DOMAIN_RENDER);
Kristian
> Either way,
> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
> and thanks for fixing this!
>
>> src/mesa/drivers/dri/i965/gen8_surface_state.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/mesa/drivers/dri/i965/gen8_surface_state.c b/src/mesa/drivers/dri/i965/gen8_surface_state.c
>> index 45c35db..16b5a7e 100644
>> --- a/src/mesa/drivers/dri/i965/gen8_surface_state.c
>> +++ b/src/mesa/drivers/dri/i965/gen8_surface_state.c
>> @@ -450,7 +450,7 @@ gen8_update_renderbuffer_surface(struct brw_context *brw,
>> drm_intel_bo_emit_reloc(brw->batch.bo,
>> brw->wm.base.surf_offset[surf_index] + 8 * 4,
>> mt->bo,
>> - 0,
>> + *((uint64_t *) &surf[8]) - mt->bo->offset64,
>
> ^^^^^^^ Tabs?!
>
>> I915_GEM_DOMAIN_RENDER,
>> I915_GEM_DOMAIN_RENDER);
>> }
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list