summaryrefslogtreecommitdiffstats
path: root/src/gallium/include
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2017-11-01 14:05:19 +1000
committerDave Airlie <[email protected]>2017-11-10 08:39:35 +1000
commit4b0b82770aad9581ee2df2dd01d63c51b28e7656 (patch)
tree53a93f30a7b119667ca4916acd1573a4ae8409bc /src/gallium/include
parent2a06423c0094749126afced82c400380221fadac (diff)
gallium/tgsi: start adding hw atomics (v3.2)
This adds support for a hw atomic counters to TGSI. A new register file for storing atomic counters is added, along with a new atomic counter semantic, along with docs for both. v2: drop semantic, move hw counter to backend, Ilia pointed out SSO would have busted my plan, and he was right. v3: drop BUFFER decls. (Marek) v3.1: minor fixups for whitespace, set ureg error if we overflow the hw atomic limits. (nha) v3.2: fix some docs inconsistencies (Ilia) Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> Tested-By: Gert Wollny <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/include')
-rw-r--r--src/gallium/include/pipe/p_shader_tokens.h1
-rw-r--r--src/gallium/include/pipe/p_state.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h
index 97deef73830..4e95789c651 100644
--- a/src/gallium/include/pipe/p_shader_tokens.h
+++ b/src/gallium/include/pipe/p_shader_tokens.h
@@ -75,6 +75,7 @@ enum tgsi_file_type {
TGSI_FILE_BUFFER,
TGSI_FILE_MEMORY,
TGSI_FILE_CONSTBUF,
+ TGSI_FILE_HW_ATOMIC,
TGSI_FILE_COUNT, /**< how many TGSI_FILE_ types */
};
diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h
index 90dc5616f50..10d21db28c6 100644
--- a/src/gallium/include/pipe/p_state.h
+++ b/src/gallium/include/pipe/p_state.h
@@ -75,6 +75,7 @@ extern "C" {
#define PIPE_MAX_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT 2
#define PIPE_MAX_WINDOW_RECTANGLES 8
+#define PIPE_MAX_HW_ATOMIC_BUFFERS 32
struct pipe_reference
{