intel/isl: Add surface state clear value information
This will be used to load and store clear values from surface state objects. Signed-off-by: Nanley Chery <nanley.g.chery@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
committed by
Jason Ekstrand
parent
b178e239dd
commit
01db9a74c6
@@ -73,6 +73,15 @@ isl_device_init(struct isl_device *dev,
|
||||
dev->ss.size = RENDER_SURFACE_STATE_length(info) * 4;
|
||||
dev->ss.align = isl_align(dev->ss.size, 32);
|
||||
|
||||
dev->ss.clear_value_size =
|
||||
isl_align(RENDER_SURFACE_STATE_RedClearColor_bits(info) +
|
||||
RENDER_SURFACE_STATE_GreenClearColor_bits(info) +
|
||||
RENDER_SURFACE_STATE_BlueClearColor_bits(info) +
|
||||
RENDER_SURFACE_STATE_AlphaClearColor_bits(info), 32) / 8;
|
||||
|
||||
dev->ss.clear_value_offset =
|
||||
RENDER_SURFACE_STATE_RedClearColor_start(info) / 32 * 4;
|
||||
|
||||
assert(RENDER_SURFACE_STATE_SurfaceBaseAddress_start(info) % 8 == 0);
|
||||
dev->ss.addr_offset =
|
||||
RENDER_SURFACE_STATE_SurfaceBaseAddress_start(info) / 8;
|
||||
|
||||
@@ -919,6 +919,10 @@ struct isl_device {
|
||||
uint8_t align;
|
||||
uint8_t addr_offset;
|
||||
uint8_t aux_addr_offset;
|
||||
|
||||
/* Rounded up to the nearest dword to simplify GPU memcpy operations. */
|
||||
uint8_t clear_value_size;
|
||||
uint8_t clear_value_offset;
|
||||
} ss;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user