Erik Faye-Lund
2683038b1c
glapi: move EXT_texture_storage to the right position
...
I somehow thought this list was sorted roughly alphabetical, but it's
actually sorted by the extension number. Whoops, let's fix that.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27452 >
2024-02-07 08:48:20 +00:00
Erik Faye-Lund
4de62731f4
mesa/main: add support for EXT_texture_storage
...
It's sometimes really, really useful if GL_BGRA8 can be used as a
sized internal format, and the combination of EXT_texture_storage
and EXT_texture_format_BGRA8888 allows this (only when using
texture-storage, which is good enough in some cases). Until now,
we've only implemented ARB_texture_storage, and not the EXT
version.
So let's implement the EXT version as well, so we get the benefit
of the interaction here. This pulls in a lot of other similar
interactions as well, which also seems useful.
...because the ARB version is created from the EXT version, let's move
the EXT function definitions to the EXT extension. These should probably
have been suffixed with ARB in the ARB-version, but things seems to have
just ended up kinda confused. Oh well.
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27222 >
2024-02-01 12:30:58 +00:00
Marek Olšák
64b769a102
glthread: add a string table of function names
...
for printing glthread batches
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26548 >
2023-12-08 04:25:52 +00:00
Marek Olšák
3a74cdcd91
glthread: pass struct marshal_cmd_DrawElementsUserBuf into Draw directly
...
Pass the whole structure directly instead of as separate parameters.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26548 >
2023-12-08 04:25:52 +00:00
Marek Olšák
98e42c6efb
glapi: only allow deprecated="" on non-aliased functions
...
Merging deprecated="" of aliased and real functions isn't completely
predictable. The function (real or aliased) that's defined last overwrites
attributes of its alias defined before it.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26548 >
2023-12-08 04:25:52 +00:00
Marek Olšák
61e19c53e7
glthread: don't do "if (COMPAT)" if the function is not in the GL core profile
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26548 >
2023-12-08 04:25:52 +00:00
Marek Olšák
a3992379cb
glapi: only expose GL_EXT_direct_state_access functions to GL compatibility
...
The extension is only exposed in GL compatibility.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26548 >
2023-12-08 04:25:52 +00:00
Marek Olšák
666d53214a
glthread: rework type reduction and reduce vertex stride params to 16 bits
...
- add get_marshal_type(), which reduces type sizes
- rework all places to use the result of get_marshal_type()
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26548 >
2023-12-08 04:25:52 +00:00
Marek Olšák
162c890614
glthread: use autogenerated marshal structures for custom functions
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26548 >
2023-12-08 04:25:52 +00:00
Marek Olšák
e9d08bb043
glapi: rename primcount -> instance_count in a few Draw functions
...
In order to match the marshal structures we already have in the tree.
The next commit will depend on this.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26548 >
2023-12-08 04:25:52 +00:00
Marek Olšák
a02ed8a95f
glthread: add option to put autogenerated marshal structures in the header file
...
This is used when we want to be able to read the calls of autogenerated
functions, or when we want to use the default structure for our custom
marshal functions.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26548 >
2023-12-08 04:25:52 +00:00
Marek Olšák
bdb771b27c
glthread: eliminate push/pop calls in PushMatrix+Draw/MultMatrixf+PopMatrix
...
Viewperf benefits. This implements glPushMatrix marshalling manually and
looks ahead in the unmarshal function what the following calls are.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26548 >
2023-12-08 04:25:51 +00:00
Marek Olšák
5fb106c253
mesa: skip checking for identity matrix in glMultMatrixf with glthread
...
glMultMatrixf was doing it. glMatrixMultfEXT is the other user of
matrix_mult that needs to do it before we can skip it here.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26548 >
2023-12-08 04:25:51 +00:00
Lucas Stach
f8753a542b
mesa: add GL_APPLE_sync support
...
This extension is a backport of GL_ARB_sync to GLES 1.1 and 2.0
and reuses token IDs and entry point prototypes from that extension,
so adding support is pretty trivial.
Signed-off-by: Lucas Stach <dev@lynxeye.de >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25789 >
2023-10-20 17:20:11 +00:00
Lucas Stach
04260c3654
mesa: enable NV_texture_barrier in GLES2+ (again)
...
This re-enables NV_texture_barrier in GL ES2+ contexts. This had
previously been tried, but caused CI issues and thus had been
reverted.
c7da969f8f ("mesa: Enable NV_texture_barrier in GLES2+") was
buggy, as it added the es2 annotation to the category instead of
the function in the XML, which lead to the extension being
advertised, but calling glTextureBarrierNV in a GLES context
only yielded a GL_INVALID_OPERATION instead of the desired
barrier operation.
Signed-off-by: Lucas Stach <dev@lynxeye.de >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25728 >
2023-10-15 10:33:47 +00:00
Marek Olšák
20d6bb2769
glthread: sync for VDPAU sync functions
...
They should sync according to the spec.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24528 >
2023-08-17 04:53:37 +00:00
Adam Jackson
f41ce4b210
mesa: Implement and advertise GL_MESA_sampler_objects
...
This is the GLES3 sampler object API trivially backported to GLES2,
because it allows for simpler/better support in glamor and mutter.
The only code change we need is adding these to the generated dispatch
tables for ES2 contexts. The interactions with EXT_shadow_samplers,
EXT_texture_filter_anisotropic and EXT_texture_sRGB_decode are already
in place before this change, and OES_texture_border_clamp is always
supported in Mesa.
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2440 >
2023-08-01 14:52:10 +00:00
Yonggang Luo
30ab06bcf8
mapi: Remove dead struct _glapi_function in glapi/glapi_getproc.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23879 >
2023-06-29 01:36:09 +00:00
Yonggang Luo
1ed7a1282c
mapi: Merge get_static_proc_address into _glapi_get_proc_address
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23879 >
2023-06-29 01:36:09 +00:00
Yonggang Luo
e3b93887eb
mapi: Style fixes in glapi/glapi_getproc.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23879 >
2023-06-29 01:36:09 +00:00
Yonggang Luo
d5a09bf594
mapi: Hide OpenGL functions to be exported when shared-glapi is disabled
...
Fixes the following test error:
135/154 mesa:gallium / osmesa-symbols-check FAIL 0.07s exit status 1
```
src/gallium/targets/osmesa/libOSMesa.so.8.0.0: unknown symbol exported: glAreTexturesResidentEXT
src/gallium/targets/osmesa/libOSMesa.so.8.0.0: unknown symbol exported: glDeleteTexturesEXT
src/gallium/targets/osmesa/libOSMesa.so.8.0.0: unknown symbol exported: glGenTexturesEXT
src/gallium/targets/osmesa/libOSMesa.so.8.0.0: unknown symbol exported: glIsTextureEXT
```
The build options is:
```
-D glx=xlib -D gles1=disabled -D gles2=disabled -D shared-glapi=disabled
```
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23409 >
2023-06-27 20:25:09 +00:00
Yonggang Luo
035e55f5ac
mapi: Now _glapi_get_dispatch_table_size always equal to sizeof(struct _glapi_table) / sizeof(void *)
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23822 >
2023-06-27 11:38:59 +00:00
Yonggang Luo
e72a879de0
mapi: Fixes compile error with build option "-D shared-glapi=disabled"
...
Fixes: 398a8d43dc ("mapi: Delete dynamic stub generation.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9245
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23822 >
2023-06-27 11:38:59 +00:00
Yonggang Luo
0c298c1bb2
mapi: Fixes non-constant-expression cannot be narrowed from type 'unsigned long' to 'unsigned int' in initializer list with clang
...
error is:
../src/mapi/glapi/tests/check_table.cpp:563:19: error: non-constant-expression cannot be narrowed from type 'unsigned long' to 'unsigned int' in initializer list [-Wc++11-narrowing]
{ "glNewList", _O(NewList) },
This is just a test and only with clang, and can be disabled by compiler option, so there is no need to back ported
Reviewed-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23793 >
2023-06-22 11:08:11 +00:00
Yonggang Luo
7af2c45947
mapi: Fixes check_table.cpp for DrawArraysInstancedARB and DrawElementsInstancedARB
...
The compile error when compiled with "-Dglx=xlib -D shared-glapi=disabled":
check_table.cpp:1133:37: error: ‘struct _glapi_table’ has no member named ‘DrawArraysInstancedARB’; did you mean ‘DrawArraysInstanced’?
1133 | { "glDrawArraysInstancedARB", _O(DrawArraysInstancedARB) },
Fixes: 5679ef99b8 ("glapi: remove EXT and ARB suffixes from Draw functions")
Reviewed-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23793 >
2023-06-22 11:08:11 +00:00
Emma Anholt
1dd1147408
mapi: Delete execmem support code.
...
No longer used now that we don't dynamically generate dispatch stubs.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23451 >
2023-06-12 21:37:37 +00:00
Emma Anholt
34808de737
mapi: Drop the unused_functions table.
...
Since we don't support loading an older driver with newer loader any more,
we don't need to bother tracking entrypoints that Mesa no longer supports.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23451 >
2023-06-12 21:37:37 +00:00
Emma Anholt
a4b2825228
mesa: Drop the aliases from the remap table.
...
Mesa core doesn't need to have mapi sanity check that our aliases all map
to the same offset. That's a build-time decision.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23451 >
2023-06-12 21:37:37 +00:00
Emma Anholt
e0213a6953
mapi: Clean up mapi_stub struct.
...
We no longer use the address field, and the name is always a size_t offset
in the string pool (never a dynamic strduped name).
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23451 >
2023-06-12 21:37:37 +00:00
Emma Anholt
29397f2e00
mesa: Drop the function parameter spec from the remap table.
...
Since we don't generate dynamic dispatch stubs any more, we don't need
this data.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23451 >
2023-06-12 21:37:37 +00:00
Emma Anholt
398a8d43dc
mapi: Delete dynamic stub generation.
...
Since Mesa drivers are now version-locked to the loader, that means that
we never need to support a newer hardware driver than the loader, and thus
don't need to generate dynamic dispatch stubs. This is great news, given
that we don't test those paths, and it involved delightful features like
arrays of hex for code to be pasted into executable memory.
More code removal will follow, this is the first cut of "don't generate,
and DCE generation code".
Fixes : #9158
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23451 >
2023-06-12 21:37:37 +00:00
Emma Anholt
3033252966
mapi: clang-format _glapi_add_dispatch().
...
The formatting was so broken I couldn't follow what was going on.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23451 >
2023-06-12 21:37:37 +00:00
Simon Ser
5b2d71ab88
Update OpenGL headers
...
Token from commit 91cdaf381d77b6e700654ecd78cb88a95c1fde1a of
OpenGL-Registry.
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23144 >
2023-06-07 20:47:03 +00:00
Corentin Noël
45a682650c
mesa: Add EXT_instanced_arrays support
...
The support for ARB_instanced_arrays already exists for big GL, reuse the same
PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR for this extension.
The OES_draw_elements_base_vertex and EXT_draw_elements_base_vertex both define
the DrawElementsInstancedBaseVertex method when EXT_instanced_arrays is defined.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22167 >
2023-04-11 10:22:35 +00:00
Corentin Noël
8aa4d37b83
glapi: Make EXT_draw_instanced functions available for GLES 2.0
...
The EXT suffixed functions should be available in the GLES 2.0 context.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22167 >
2023-04-11 10:22:35 +00:00
David Heidelberg
fe96bb8dcc
Revert "mesa: Enable NV_texture_barrier in GLES2+"
...
Fixes failing skqp GLES test:
- gles_lcdblendmodes
This reverts commit c7da969f8f .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22403 >
2023-04-11 02:33:52 +00:00
Adam Jackson
c7da969f8f
mesa: Enable NV_texture_barrier in GLES2+
...
The spec text is written against 3.2 but only requires framebuffer
objects and ES2.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19234 >
2023-04-08 06:10:44 +00:00
Mike Blumenkrantz
0c7994bb2d
mapi: add InternalInvalidateFramebufferAncillaryMESA
...
this allows glthread to handle ancillary buffer invalidation
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21910 >
2023-03-30 05:06:47 +00:00
volodymyr.o
47e7b49c61
mesa ctx->API --> _mesa_is_foo(ctx)
...
replaces direct API checks with _mesa_is_...() checks
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8340
Signed-off-by: Volodymyr Obohzyn volodymyr.obozhyn@globallogic.com
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21556 >
2023-03-20 06:39:57 +00:00
Marek Olšák
c455ea6144
glthread: qualify the *cmd unmarshal parameter with restrict
...
This seems like a logical thing to do. Clearly the memory can't be
accessed with any other pointer.
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21777 >
2023-03-12 17:56:18 -04:00
Marek Olšák
dae902e11e
mesa: rename CurrentClientDispatch to GLApi
...
I like this more. The name self-documents itself. It's always equal
to the dispatch set in glapi.
GLAPI is a definition, so can't use that.
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21777 >
2023-03-12 17:56:15 -04:00
Marek Olšák
6b22642e21
mesa: move ctx->Table -> ctx->Dispatch.Table except Client & MarshalExec
...
There is a new struct gl_dispatch, which I'd like to reuse in glthread.
This allows building code around gl_dispatch that can be shared between
mesa and glthread. This is only refactoring.
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21777 >
2023-03-12 17:56:11 -04:00
Marek Olšák
ef0e327d9f
glapi: inline the meson list files_mapi_util
...
so that people can easily tell where these files are used by searching
for the file names in the meson files.
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21777 >
2023-03-12 17:56:10 -04:00
Marek Olšák
eed145004b
glapi: move files specific to shared-glapi into the shared-glapi subdirectory
...
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21777 >
2023-03-12 17:56:03 -04:00
Eric Engestrom
f5d3d1e7ed
meson: inline gtest_test_protocol now that it's always 'gtest'
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21485 >
2023-03-10 07:20:29 +00:00
Marek Olšák
98198a7782
glthread: fix a perf regression due to draw_always_async flag, fix DrawIndirect
...
Performance regressed by 31% in one VP2020/Creo subtest because
the draw_always_async flag wasn't implemented correctly. Remove it
instead of fixing it.
While removing it, I noticed that our DrawIndirect async conditions
were incorrect. I fixed them.
Fixes: 3b897719e6 - glthread: add ctx->GLThread.draw_always_async to simplify draw checking
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21566 >
2023-03-01 23:18:10 +00:00
Eric Engestrom
c9f3ba987f
glapi/meson: drop duplicate line in deps
...
Fixes: 0842bc879b ("meson: wire the new generator for es1 and es2")
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21562 >
2023-02-28 10:31:37 +00:00
Marek Olšák
cabc08a184
glthread: convert (Multi)DrawIndirect into direct if user buffers are present
...
so that user buffers are uploaded without syncing.
Now glthread fully handles non-VBO uploads, so that we can disable user
buffer codepaths in st/mesa.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20624 >
2023-02-18 09:31:41 -05:00
Marek Olšák
72b336dbdc
glthread: add API to allow passing DrawID from glthread to mesa
...
This will be needed for lowering DrawIndirect in glthread, which is
needed if non-VBO vertex arrays are present.
This only adds the drawid parameter in glthread's draw_arrays and
draw_elements functions, and implements where needed.
New GL API functions are added because we want to use separate
DISPATCH_CMD_* enums for draws with DrawID, so that we don't increase
the memory footprint of draws in glthread batches if drawid == 0.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20624 >
2023-02-18 09:31:41 -05:00
Marek Olšák
aabca21c7e
glthread: handle non-VBO uploads for glMultiModeDraw{Arrays,Elements}IBM
...
This was unimplemented, and this implementation matches exactly what we do
in main/draw.c.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20624 >
2023-02-18 09:31:41 -05:00