Marek Olšák
a1f16b59b3
mesa: flush glBegin/End before changing GL_DEPTH_STENCIL_TEXTURE_MODE
...
Fixes: 23e81b93bb "mesa: Add core API support for GL_ARB_stencil_texturing (from 4.3)."
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8181 >
2021-01-30 16:25:26 -05:00
Marek Olšák
35be83846e
mesa: fix glPopAttrib for many texture fields
...
Move the fields that should be restored by glPopAttrib into the Attrib
structure, which is the only portion of texture objects that is restored
by glPopAttrib. Also moves fields that should not be restored by glPopAttrib
out of the Attrib structure.
This is based on the GL 4.6 Compatibility spec.
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8181 >
2021-01-30 16:23:53 -05:00
Marek Olšák
230b46bcee
mesa: don't push/pop gl_texture_object::Target
...
This field is immutable because each texture unit is an array of texture
target slots and only matching targets can be bound into each slot.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8181 >
2021-01-30 16:23:53 -05:00
Marek Olšák
6c0a8ddb6f
mesa: optimize glPopAttrib(GL_VIEWPORT_BIT)
...
We can just copy the variables because they are already clamped
to ctx->Const limits.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8181 >
2021-01-30 16:23:53 -05:00
Marek Olšák
a04939662d
mesa: optimize most _mesa_ActiveTexture calls in glPopAttrib
...
_mesa_ActiveTexture changes CurrentUnit and the texture matrix stack
if the matrix mode is a texture matrix. In these cases, the texture matrix
stack is not touched.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8181 >
2021-01-30 16:23:53 -05:00
Marek Olšák
a4490541c6
mesa: remove/replace FLUSH_VERTICES when it doesn't do anything
...
In _mesa_PopAttrib, we call FLUSH_VERTICES at the beginning, so we don't
need to do it again.
In the MultiMode functions, we call standard Draw functions
using the dispatch, which do the flushing by themselves.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8181 >
2021-01-30 16:23:53 -05:00
Marek Olšák
85d300ecd1
radeonsi: precompute NGG cull flags in si_create_rs_state
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:41:23 -05:00
Marek Olšák
47587758f2
radeonsi: prefetch VB descriptors right after uploading
...
This skips the logic that sets and checks prefetch_L2_mask.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:41:23 -05:00
Marek Olšák
d5b529ad14
radeonsi: set VB user SGPRs in si_upload_vertex_buffer_descriptors
...
so that we don't have to enter the state emit loop and invoke the more
complicated function si_emit_graphics_shader_pointers.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:41:23 -05:00
Marek Olšák
81139adad0
radeonsi: reorganize si_draw_vbo for lower register pressure (part 2)
...
Move statements that use the least number of local variables as close
to the beginning as possible. Also move local variables closer to their use.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:41:23 -05:00
Marek Olšák
c2671ffd75
radeonsi: reorganize si_draw_vbo for lower register pressure (part 1)
...
Move statements that use the least number of local variables as close
to the beginning as possible. Also move local variables closer to their use.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:41:23 -05:00
Marek Olšák
6193aab655
radeonsi: optimize si_emit_prefetch_L2 when it's split
...
When using the prefetch with VS_ONLY=true followed by VS_ONLY=false,
we tested the VS_ONLY bits in the mask when executing VS_ONLY=false where
the bits were always 0. It's also useless to clear the prefetch mask when
VS_ONLY=true.
This commit skips those tests by splitting the function properly using
BEFORE_DRAW and AFTER_DRAW template parameters.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:41:23 -05:00
Marek Olšák
c28396cf20
radeonsi: don't check for redundant and NULL states in si_emit_all_states
...
All places set dirty_states correctly now.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:41:23 -05:00
Marek Olšák
11293d71f2
radeonsi: delete si_pm4_delete_state
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:41:23 -05:00
Marek Olšák
d4b503d0bc
radeonsi: move si_pm4_delete_state logic into si_pm4_free_state
...
also clear dirty_states.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:41:23 -05:00
Marek Olšák
b0bc5edfbd
radeonsi: mark shader_pointers dirty once outside the upload descriptors loop
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:41:23 -05:00
Marek Olšák
e8dda30c6f
radeonsi: optimize no-op cases in si_upload_shader_descriptors
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:41:23 -05:00
Marek Olšák
e93b42c214
ac,radeonsi: track memory usage in KB to reduce types from uint64 to uint32
...
Decreasing the time spent in radeon_cs_memory_below_limit is the motivation.
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:38:15 -05:00
Dylan Baker
205e737f51
docs: update calendar for 21.0.0-rc3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8791 >
2021-01-29 20:14:07 -08:00
Dylan Baker
41997bb860
docs: update calendar for 21.0.0-rc2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8791 >
2021-01-29 20:13:58 -08:00
Dylan Baker
ea6f5ef779
docs: update calendar and link releases notes for 20.3.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8791 >
2021-01-29 20:13:33 -08:00
Dylan Baker
98d21ee5e1
docs: Add sha256sum for 20.3.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8791 >
2021-01-29 20:13:14 -08:00
Dylan Baker
ea26354ce7
docs: add release notes for 20.3.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8791 >
2021-01-29 20:13:10 -08:00
Caio Marcelo de Oliveira Filho
1869072c80
spirv: Store SPIR-V version of the module
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8786 >
2021-01-29 23:36:29 +00:00
Caio Marcelo de Oliveira Filho
a0d73ca65c
spirv: Don't remove dead variables in create_library mode
...
The issues fixed by the removal happen when a module has multiple
entry points and conflicting global variables. Neither conditions are
expected in a library.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8786 >
2021-01-29 23:36:29 +00:00
Caio Marcelo de Oliveira Filho
fd44bcf9a8
spirv: Don't bother counting num_images/num_textures
...
Not only these are recalculated in nir_shader_gather_info, but
currently they are also counting all the images / textures in the
module instead of in the shader (entrypoint).
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8786 >
2021-01-29 23:36:29 +00:00
Eric Anholt
55e853d823
mesa/st: Allocate the gl_context with 16-byte alignment.
...
The _ModelProjectMatrix matrix embedded inside has members inside of it
marked as 16-byte aligned, and so the context also has to be 16-byte
aligned or access to those members would be invalid. I believe the
compiler used this to use better 16-byte-aligned load/stores to other
members of the context, breaking when the context's alignment was only 8
(as normal mallocs guarantee).
Fixes: 3175b63a0d ("mesa: don't allocate matrices with malloc")
Tested-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8783 >
2021-01-29 22:58:57 +00:00
Dave Airlie
25c70a9a1e
lavapipe: add missing loader interface negoitation
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8769 >
2021-01-30 07:59:59 +10:00
Michael Tang
f026345b34
microsoft/compiler: Make resource_state_manager only build with_gallium_d3d12
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8785 >
2021-01-29 12:54:02 -08:00
Benjamin Tissoires
8deca5a72e
CI: windows: Force using LLVM 12
...
LLVM is moving to the 13 release, but LLVM-SPIRV is still so in the past.
Given that LLVM 12.0.0 is still not out (we are at 12.0.0-rc1 today),
use the `release/12.x` branch for LLVM.
We should also tag LLVM-SPIRV, but... it seems that they haven't caught up
yet, so keep using the master branch, but add a note for a future
committer.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Daniel Stone <daniel@fooishbar.org >
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8740 >
2021-01-29 17:54:56 +00:00
Benjamin Tissoires
a69ab2ae36
CI: windows: split the layers to meet new registry requirements
...
The new registry caching in place for registry.fd.o can not handle layers
bigger than 5 GB. The last layer we used to build on windows was 5.2 GB,
meaning that the upload would fail.
Split the layers by calling multiple `RUN`, hoping that the size will be
roughly split between those steps if we have a special layer for VS2019.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Daniel Stone <daniel@fooishbar.org >
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8740 >
2021-01-29 17:54:56 +00:00
Benjamin Tissoires
0ef1f418bb
CI: windows: augment the timeout of building the windows container
...
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/6898838 failed at
uploading the containers but got kicked out right before being able to
give us a valid error.
Bump the timeout for windows container builds, to not have this
unfortunate situation.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Daniel Stone <daniel@fooishbar.org >
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8740 >
2021-01-29 17:54:56 +00:00
Mike Blumenkrantz
d76f51d6fd
glsl: support 64bit integer loop iterators
...
this was crashing due to the assumption that non-32bit integer values must be
floats
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7316 >
2021-01-29 17:13:14 +00:00
Alyssa Rosenzweig
234ba13f10
pan/bi: Add packing format tests
...
These are based on reference outputs generated by the blob.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
9497d8025f
pan/bi: Test pack_sync
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
e0a5e5eb15
pan/bi: Test pack_tuple_bits
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
7898decbd3
pan/bi: Test pack_upper
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
e383af639a
pan/bi: Test pack_literal
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
80157fac68
pan/bi: Add packing unit test group
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
4379f7bad2
pan/bi: Pack multiple tuples per clause
...
Use all of the new helpers to pick formats and use them.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
9362a13982
pan/bi: Calculate pos for constant packing
...
We do not yet support multiple (format 12 quadword) constants per clause
but this is a step in the right direction.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
51f13185c8
pan/bi: Add pack_format helper
...
Packs a single quadword of a clause with a particular format and
parameters.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
0e9a05c004
pan/bi: Add subword 4 or 7 pack
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
1adb996acc
pan/bi: Add subword 5/6 pack
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
038bb8eabe
pan/bi: Add tuple/embedded constant pack
...
Used for the first 4 subwords.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
2258acf5ca
pan/bi: Add bi_pack_sync
...
The type/sync byte, also known as the tag.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
5f523c60fc
pan/bi: Add bi_pack_tuple_bits
...
More general than the top 3 bit special case. There's some serious
complication around 78-bit shifting but I digress.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
0812a5204b
pan/bi: Add bi_pack_upper
...
Top 3-bits, found e.g. in the tag.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
62696e5ff5
pan/bi: Add bi_pack_literal
...
Identifies formats.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00
Alyssa Rosenzweig
576a94b7b8
pan/bi: Move bi_packed_tuple to compiler.h
...
To be used for pack prototype.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723 >
2021-01-29 16:55:44 +00:00