summaryrefslogtreecommitdiffstats
path: root/src/gallium/include/pipe
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2015-07-05 13:51:16 +0200
committerMarek Olšák <[email protected]>2015-07-16 16:52:02 +0200
commitf9f79d29ce75c681c46bdbac5aa3f19ee1adb93b (patch)
treedf4f657bbdfb4c15520fd9fe2cd401b395581e11 /src/gallium/include/pipe
parent26222932c013da3688e39dc831179659cc65c39a (diff)
gallium: add BIND flags for R/W buffers and images
PIPE_CAPs and TGSI support will be added later. The TGSI support should be straightforward. We only need to split TGSI_FILE_RESOURCE into TGSI_FILE_IMAGE and TGSI_FILE_BUFFER, though duplicating all opcodes shouldn't be necessary. The idea is: * ARB_shader_image_load_store should use set_shader_images. * ARB_shader_storage_buffer_object should use set_shader_buffers(slots 0..M-1) if M shader storage buffers are supported. * ARB_shader_atomic_counters should use set_shader_buffers(slots M..N) if N-M+1 atomic counter buffers are supported. PIPE_CAPs can describe various constraints for early DX11 hardware. Reviewed-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium/include/pipe')
-rw-r--r--src/gallium/include/pipe/p_defines.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
index 2dc8798f3c7..68c536f1101 100644
--- a/src/gallium/include/pipe/p_defines.h
+++ b/src/gallium/include/pipe/p_defines.h
@@ -351,9 +351,10 @@ enum pipe_flush_flags
#define PIPE_BIND_CURSOR (1 << 11) /* mouse cursor */
#define PIPE_BIND_CUSTOM (1 << 12) /* state-tracker/winsys usages */
#define PIPE_BIND_GLOBAL (1 << 13) /* set_global_binding */
-#define PIPE_BIND_SHADER_RESOURCE (1 << 14) /* set_shader_resources */
-#define PIPE_BIND_COMPUTE_RESOURCE (1 << 15) /* set_compute_resources */
-#define PIPE_BIND_COMMAND_ARGS_BUFFER (1 << 16) /* pipe_draw_info.indirect */
+#define PIPE_BIND_SHADER_BUFFER (1 << 14) /* set_shader_buffers */
+#define PIPE_BIND_SHADER_IMAGE (1 << 15) /* set_shader_images */
+#define PIPE_BIND_COMPUTE_RESOURCE (1 << 16) /* set_compute_resources */
+#define PIPE_BIND_COMMAND_ARGS_BUFFER (1 << 17) /* pipe_draw_info.indirect */
/**
* The first two flags above were previously part of the amorphous
@@ -374,9 +375,9 @@ enum pipe_flush_flags
* The third flag has been added to be able to force textures to be created
* in linear mode (no tiling).
*/
-#define PIPE_BIND_SCANOUT (1 << 17) /* */
-#define PIPE_BIND_SHARED (1 << 18) /* get_texture_handle ??? */
-#define PIPE_BIND_LINEAR (1 << 19)
+#define PIPE_BIND_SCANOUT (1 << 18) /* */
+#define PIPE_BIND_SHARED (1 << 19) /* get_texture_handle ??? */
+#define PIPE_BIND_LINEAR (1 << 20)
/**