[Mesa-dev] [PATCH 08/13] i965: Convert reloc.target_handle into an index for I915_EXEC_HANDLE_LUT
Chris Wilson
chris at chris-wilson.co.uk
Thu Jul 20 15:05:19 UTC 2017
Quoting Kenneth Graunke (2017-07-19 23:36:58)
> On Wednesday, July 19, 2017 3:09:16 AM PDT Chris Wilson wrote:
> > #define READ_ONCE(x) (*(volatile __typeof__(x) *)&(x))
> > @@ -117,21 +125,12 @@ add_exec_bo(struct intel_batchbuffer *batch, struct brw_bo *bo)
> > batch->exec_array_size * sizeof(batch->exec_objects[0]));
> > }
> >
> > - struct drm_i915_gem_exec_object2 *validation_entry =
> > - &batch->exec_objects[batch->exec_count];
> > - validation_entry->handle = bo->gem_handle;
> > - if (bo == batch->bo) {
> > - validation_entry->relocation_count = batch->reloc_count;
> > - validation_entry->relocs_ptr = (uintptr_t) batch->relocs;
> > - } else {
> > - validation_entry->relocation_count = 0;
> > - validation_entry->relocs_ptr = 0;
> > - }
> > - validation_entry->alignment = bo->align;
> > - validation_entry->offset = bo->offset64;
> > - validation_entry->flags = bo->kflags;
> > - validation_entry->rsvd1 = 0;
> > - validation_entry->rsvd2 = 0;
> > + struct drm_i915_gem_exec_object2 *exec =
> > + memset(&batch->exec_objects[batch->exec_count], 0, sizeof(*exec));
> > + exec->handle = bo->gem_handle;
> > + exec->alignment = bo->align;
> > + exec->offset = bo->offset64;
> > + exec->flags = bo->kflags;
>
> I liked the name "validation_entry" given that we call this the "validation
> list"...exec matches the struct name better, but I think validation_entry
> helps distinguish the two lists...
Hmm, how about
- struct drm_i915_gem_exec_object2 *exec =
- memset(&batch->exec_objects[batch->exec_count], 0, sizeof(*exec));
- exec->handle = bo->gem_handle;
- exec->alignment = bo->align;
- exec->offset = bo->offset64;
- exec->flags = bo->kflags;
+ batch->exec_objects[batch->exec_count] = (struct drm_i915_gem_exec_object2){
+ .handle = bo->gem_handle,
+ .alignment = bo->align,
+ .offset = bo->offset64,
+ .flags = bo->kflags,
+ };
and skip the impossible problem of naming?
But we still end up with a couple of
struct drm_i915_gem_exec_object2 *
validation_entry = &batch->exec_objects[index];
Could I just call those exec_object?
-Chris
More information about the mesa-dev
mailing list