diff options
author | Chia-I Wu <[email protected]> | 2013-06-25 12:12:09 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2013-06-25 12:28:54 +0800 |
commit | 5c8db569abf3f1e508d57cccb95856936bce29e4 (patch) | |
tree | 13a48632710fee6bc0778830b8b2b345967339f7 /src/gallium/drivers/ilo/ilo_shader.h | |
parent | 96e2133e72ec0fb6173b79838f1a7d153b8f25b6 (diff) |
ilo: add functions to query shaders
Add ilo_shader_get_type() to query the type (PIPE_SHADER_x) of the shader.
Add ilo_shader_get_kernel_offset() and ilo_shader_get_kernel_param() to query
the cache offset and various kernel parameters of the selected kernel.
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_shader.h')
-rw-r--r-- | src/gallium/drivers/ilo/ilo_shader.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/gallium/drivers/ilo/ilo_shader.h b/src/gallium/drivers/ilo/ilo_shader.h index 4413c59e119..fa5a556539b 100644 --- a/src/gallium/drivers/ilo/ilo_shader.h +++ b/src/gallium/drivers/ilo/ilo_shader.h @@ -30,6 +30,34 @@ #include "ilo_common.h" +enum ilo_kernel_param { + ILO_KERNEL_INPUT_COUNT, + ILO_KERNEL_OUTPUT_COUNT, + ILO_KERNEL_URB_DATA_START_REG, + + ILO_KERNEL_VS_INPUT_INSTANCEID, + ILO_KERNEL_VS_INPUT_VERTEXID, + ILO_KERNEL_VS_INPUT_EDGEFLAG, + ILO_KERNEL_VS_PCB_UCP_SIZE, + ILO_KERNEL_VS_GEN6_SO, + ILO_KERNEL_VS_GEN6_SO_START_REG, + ILO_KERNEL_VS_GEN6_SO_POINT_OFFSET, + ILO_KERNEL_VS_GEN6_SO_LINE_OFFSET, + ILO_KERNEL_VS_GEN6_SO_TRI_OFFSET, + + ILO_KERNEL_GS_DISCARD_ADJACENCY, + ILO_KERNEL_GS_GEN6_SVBI_POST_INC, + + ILO_KERNEL_FS_INPUT_Z, + ILO_KERNEL_FS_INPUT_W, + ILO_KERNEL_FS_OUTPUT_Z, + ILO_KERNEL_FS_USE_KILL, + ILO_KERNEL_FS_BARYCENTRIC_INTERPOLATIONS, + ILO_KERNEL_FS_DISPATCH_16_OFFSET, + + ILO_KERNEL_PARAM_COUNT, +}; + struct intel_bo; struct ilo_context; struct ilo_shader_cache; @@ -77,9 +105,19 @@ ilo_shader_create_cs(const struct ilo_dev_info *dev, void ilo_shader_destroy(struct ilo_shader_state *shader); +int +ilo_shader_get_type(const struct ilo_shader_state *shader); + bool ilo_shader_select_kernel(struct ilo_shader_state *shader, const struct ilo_context *ilo, uint32_t dirty); +uint32_t +ilo_shader_get_kernel_offset(const struct ilo_shader_state *shader); + +int +ilo_shader_get_kernel_param(const struct ilo_shader_state *shader, + enum ilo_kernel_param param); + #endif /* ILO_SHADER_H */ |