summaryrefslogtreecommitdiff
path: root/src/gallium/include
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2017-11-01 14:05:19 +1000
committerDave Airlie <airlied@redhat.com>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 <marek.olsak@amd.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Tested-By: Gert Wollny <gw.fossdev@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
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 97deef7383..4e95789c65 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 90dc5616f5..10d21db28c 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
{