summaryrefslogtreecommitdiffstats
path: root/src/mapi
diff options
context:
space:
mode:
authorGrigori Goronzy <[email protected]>2017-06-24 18:59:55 +0200
committerTimothy Arceri <[email protected]>2017-06-26 09:06:23 +1000
commit95fb1c187a0ea8d13f401145282363228b91b246 (patch)
treef20a58cb521d1b48ddf8b522c2820b9a518597d4 /src/mapi
parent6a68170c8360d702a25e59740d04f79a4f8323a7 (diff)
mesa/marshal: add custom marshalling for glNamedBuffer(Sub)Data
These entry points are used by Alien Isolation and caused synchronization with glthread. The async marshalling implementation is similar to glBuffer(Sub)Data. However unlike Buffer(Sub)Data we don't need to worry about EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD, as this isn't applicable to these DSA variants. Results in an approximately 6x drop in glthread synchronizations and a ~30% FPS jump in Alien Isolation (Medium preset, Athlon 860K, RX 480). Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/mapi')
-rw-r--r--src/mapi/glapi/gen/ARB_direct_state_access.xml4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mapi/glapi/gen/ARB_direct_state_access.xml b/src/mapi/glapi/gen/ARB_direct_state_access.xml
index cb24d7981cb..d3d22465e47 100644
--- a/src/mapi/glapi/gen/ARB_direct_state_access.xml
+++ b/src/mapi/glapi/gen/ARB_direct_state_access.xml
@@ -61,14 +61,14 @@
<param name="flags" type="GLbitfield" />
</function>
- <function name="NamedBufferData">
+ <function name="NamedBufferData" marshal="custom">
<param name="buffer" type="GLuint" />
<param name="size" type="GLsizeiptr" />
<param name="data" type="const GLvoid *" />
<param name="usage" type="GLenum" />
</function>
- <function name="NamedBufferSubData" no_error="true">
+ <function name="NamedBufferSubData" no_error="true" marshal="custom">
<param name="buffer" type="GLuint" />
<param name="offset" type="GLintptr" />
<param name="size" type="GLsizeiptr" />