blorp: Add blorp_alloc_general_state

Reworks:
 * Add crocus

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11564>
This commit is contained in:
Jordan Justen
2021-06-21 12:45:24 -07:00
committed by Marge Bot
parent 90feddf38a
commit a4c9c242ed
5 changed files with 53 additions and 0 deletions

View File

@@ -159,6 +159,16 @@ blorp_alloc_dynamic_state(struct blorp_batch *blorp_batch,
return stream_state(batch, size, alignment, offset, NULL);
}
UNUSED static void *
blorp_alloc_general_state(struct blorp_batch *blorp_batch,
uint32_t size,
uint32_t alignment,
uint32_t *offset)
{
/* Use dynamic state range for general state on crocus. */
return blorp_alloc_dynamic_state(blorp_batch, size, alignment, offset);
}
static void
blorp_alloc_binding_table(struct blorp_batch *blorp_batch,
unsigned num_entries,

View File

@@ -139,6 +139,16 @@ blorp_alloc_dynamic_state(struct blorp_batch *blorp_batch,
size, alignment, offset, NULL);
}
UNUSED static void *
blorp_alloc_general_state(struct blorp_batch *blorp_batch,
uint32_t size,
uint32_t alignment,
uint32_t *offset)
{
/* Use dynamic state range for general state on iris. */
return blorp_alloc_dynamic_state(blorp_batch, size, alignment, offset);
}
static void
blorp_alloc_binding_table(struct blorp_batch *blorp_batch,
unsigned num_entries,

View File

@@ -61,6 +61,13 @@ blorp_alloc_dynamic_state(struct blorp_batch *batch,
uint32_t size,
uint32_t alignment,
uint32_t *offset);
UNUSED static void *
blorp_alloc_general_state(struct blorp_batch *batch,
uint32_t size,
uint32_t alignment,
uint32_t *offset);
static void *
blorp_alloc_vertex_buffer(struct blorp_batch *batch, uint32_t size,
struct blorp_address *addr);

View File

@@ -134,6 +134,22 @@ blorp_alloc_dynamic_state(struct blorp_batch *batch,
return state.map;
}
UNUSED static void *
blorp_alloc_general_state(struct blorp_batch *batch,
uint32_t size,
uint32_t alignment,
uint32_t *offset)
{
struct anv_cmd_buffer *cmd_buffer = batch->driver_batch;
struct anv_state state =
anv_state_stream_alloc(&cmd_buffer->general_state_stream, size,
alignment);
*offset = state.offset;
return state.map;
}
static void
blorp_alloc_binding_table(struct blorp_batch *batch, unsigned num_entries,
unsigned state_size, unsigned state_alignment,

View File

@@ -130,6 +130,16 @@ blorp_alloc_dynamic_state(struct blorp_batch *batch,
return brw_state_batch(brw, size, alignment, offset);
}
UNUSED static void *
blorp_alloc_general_state(struct blorp_batch *blorp_batch,
uint32_t size,
uint32_t alignment,
uint32_t *offset)
{
/* Use dynamic state range for general state on i965. */
return blorp_alloc_dynamic_state(blorp_batch, size, alignment, offset);
}
static void
blorp_alloc_binding_table(struct blorp_batch *batch, unsigned num_entries,
unsigned state_size, unsigned state_alignment,