summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/ilo/ilo_shader.h
diff options
context:
space:
mode:
authorChia-I Wu <olvaffe@gmail.com>2013-06-25 12:12:09 +0800
committerChia-I Wu <olvaffe@gmail.com>2013-06-25 12:28:54 +0800
commit5c8db569abf3f1e508d57cccb95856936bce29e4 (patch)
tree13a48632710fee6bc0778830b8b2b345967339f7 /src/gallium/drivers/ilo/ilo_shader.h
parent96e2133e72ec0fb6173b79838f1a7d153b8f25b6 (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.h38
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 */