diff options
author | Dave Airlie <[email protected]> | 2017-11-01 14:05:19 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2017-11-10 08:39:35 +1000 |
commit | 4b0b82770aad9581ee2df2dd01d63c51b28e7656 (patch) | |
tree | 53a93f30a7b119667ca4916acd1573a4ae8409bc /src/gallium/include/pipe | |
parent | 2a06423c0094749126afced82c400380221fadac (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/pipe')
-rw-r--r-- | src/gallium/include/pipe/p_shader_tokens.h | 1 | ||||
-rw-r--r-- | src/gallium/include/pipe/p_state.h | 1 |
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 { |