i965: Reuse libdrm's header for AUB definitions.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
a6af5602af
commit
c00d3bd59d
|
@ -40,6 +40,7 @@
|
|||
#include "main/mm.h"
|
||||
#include "main/mtypes.h"
|
||||
#include "brw_structs.h"
|
||||
#include "intel_aub.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -241,71 +242,6 @@ struct brw_state_flags {
|
|||
GLuint cache;
|
||||
};
|
||||
|
||||
#define AUB_TRACE_TYPE_MASK 0x0000ff00
|
||||
#define AUB_TRACE_TYPE_NOTYPE (0 << 8)
|
||||
#define AUB_TRACE_TYPE_BATCH (1 << 8)
|
||||
#define AUB_TRACE_TYPE_VERTEX_BUFFER (5 << 8)
|
||||
#define AUB_TRACE_TYPE_2D_MAP (6 << 8)
|
||||
#define AUB_TRACE_TYPE_CUBE_MAP (7 << 8)
|
||||
#define AUB_TRACE_TYPE_VOLUME_MAP (9 << 8)
|
||||
#define AUB_TRACE_TYPE_1D_MAP (10 << 8)
|
||||
#define AUB_TRACE_TYPE_CONSTANT_BUFFER (11 << 8)
|
||||
#define AUB_TRACE_TYPE_CONSTANT_URB (12 << 8)
|
||||
#define AUB_TRACE_TYPE_INDEX_BUFFER (13 << 8)
|
||||
#define AUB_TRACE_TYPE_GENERAL (14 << 8)
|
||||
#define AUB_TRACE_TYPE_SURFACE (15 << 8)
|
||||
|
||||
/**
|
||||
* state_struct_type enum values are encoded with the top 16 bits representing
|
||||
* the type to be delivered to the .aub file, and the bottom 16 bits
|
||||
* representing the subtype. This macro performs the encoding.
|
||||
*/
|
||||
#define ENCODE_SS_TYPE(type, subtype) (((type) << 16) | (subtype))
|
||||
|
||||
enum state_struct_type {
|
||||
AUB_TRACE_VS_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 1),
|
||||
AUB_TRACE_GS_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 2),
|
||||
AUB_TRACE_CLIP_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 3),
|
||||
AUB_TRACE_SF_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 4),
|
||||
AUB_TRACE_WM_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 5),
|
||||
AUB_TRACE_CC_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 6),
|
||||
AUB_TRACE_CLIP_VP_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 7),
|
||||
AUB_TRACE_SF_VP_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 8),
|
||||
AUB_TRACE_CC_VP_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0x9),
|
||||
AUB_TRACE_SAMPLER_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0xa),
|
||||
AUB_TRACE_KERNEL_INSTRUCTIONS = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0xb),
|
||||
AUB_TRACE_SCRATCH_SPACE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0xc),
|
||||
AUB_TRACE_SAMPLER_DEFAULT_COLOR = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0xd),
|
||||
|
||||
AUB_TRACE_SCISSOR_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0x15),
|
||||
AUB_TRACE_BLEND_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0x16),
|
||||
AUB_TRACE_DEPTH_STENCIL_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0x17),
|
||||
|
||||
AUB_TRACE_VERTEX_BUFFER = ENCODE_SS_TYPE(AUB_TRACE_TYPE_VERTEX_BUFFER, 0),
|
||||
AUB_TRACE_BINDING_TABLE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_SURFACE, 0x100),
|
||||
AUB_TRACE_SURFACE_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_SURFACE, 0x200),
|
||||
AUB_TRACE_VS_CONSTANTS = ENCODE_SS_TYPE(AUB_TRACE_TYPE_CONSTANT_BUFFER, 0),
|
||||
AUB_TRACE_WM_CONSTANTS = ENCODE_SS_TYPE(AUB_TRACE_TYPE_CONSTANT_BUFFER, 1),
|
||||
};
|
||||
|
||||
/**
|
||||
* Decode a state_struct_type value to determine the type that should be
|
||||
* stored in the .aub file.
|
||||
*/
|
||||
static inline uint32_t AUB_TRACE_TYPE(enum state_struct_type ss_type)
|
||||
{
|
||||
return (ss_type & 0xFFFF0000) >> 16;
|
||||
}
|
||||
|
||||
/**
|
||||
* Decode a state_struct_type value to determine the subtype that should be
|
||||
* stored in the .aub file.
|
||||
*/
|
||||
static inline uint32_t AUB_TRACE_SUBTYPE(enum state_struct_type ss_type)
|
||||
{
|
||||
return ss_type & 0xFFFF;
|
||||
}
|
||||
|
||||
/** Subclass of Mesa vertex program */
|
||||
struct brw_vertex_program {
|
||||
struct gl_vertex_program program;
|
||||
|
@ -1382,7 +1318,7 @@ struct brw_context
|
|||
struct {
|
||||
uint32_t offset;
|
||||
uint32_t size;
|
||||
enum state_struct_type type;
|
||||
enum aub_state_struct_type type;
|
||||
} *state_batch_list;
|
||||
int state_batch_count;
|
||||
|
||||
|
@ -1851,7 +1787,7 @@ gen6_upload_vec4_push_constants(struct brw_context *brw,
|
|||
const struct gl_program *prog,
|
||||
const struct brw_vec4_prog_data *prog_data,
|
||||
struct brw_stage_state *stage_state,
|
||||
enum state_struct_type type);
|
||||
enum aub_state_struct_type type);
|
||||
|
||||
/* ================================================================
|
||||
* From linux kernel i386 header files, copes with odd sizes better
|
||||
|
|
|
@ -196,7 +196,7 @@ void brw_destroy_caches( struct brw_context *brw );
|
|||
intel_batchbuffer_data(brw, (s), sizeof(*(s)), RENDER_RING)
|
||||
|
||||
void *brw_state_batch(struct brw_context *brw,
|
||||
enum state_struct_type type,
|
||||
enum aub_state_struct_type type,
|
||||
int size,
|
||||
int alignment,
|
||||
uint32_t *out_offset);
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
static void
|
||||
brw_track_state_batch(struct brw_context *brw,
|
||||
enum state_struct_type type,
|
||||
enum aub_state_struct_type type,
|
||||
uint32_t offset,
|
||||
int size)
|
||||
{
|
||||
|
@ -116,7 +116,7 @@ brw_annotate_aub(struct brw_context *brw)
|
|||
*/
|
||||
void *
|
||||
brw_state_batch(struct brw_context *brw,
|
||||
enum state_struct_type type,
|
||||
enum aub_state_struct_type type,
|
||||
int size,
|
||||
int alignment,
|
||||
uint32_t *out_offset)
|
||||
|
|
|
@ -38,7 +38,7 @@ gen6_upload_vec4_push_constants(struct brw_context *brw,
|
|||
const struct gl_program *prog,
|
||||
const struct brw_vec4_prog_data *prog_data,
|
||||
struct brw_stage_state *stage_state,
|
||||
enum state_struct_type type)
|
||||
enum aub_state_struct_type type)
|
||||
{
|
||||
struct gl_context *ctx = &brw->ctx;
|
||||
|
||||
|
|
Loading…
Reference in New Issue