blender/intern/opencolorio
Omar Emara ff3b2226fb GPU: Refactor texture samplers
This patch refactors the texture samples code by mainly splitting the
eGPUSamplerState enum into multiple smaller enums and packing them
inside a GPUSamplerState struct. This was done because many members of
the enum were mutually exclusive, which was worked around during setting
up the samplers in the various backends, and additionally made the API
confusing, like the GPU_texture_wrap_mode function, which had two
mutually exclusive parameters.

The new structure also improved and clarified the backend sampler cache,
reducing the cache size from 514 samplers to just 130 samplers, which
also slightly improved the initialization time. Further, the
GPU_SAMPLER_MAX signal value was naturally incorporated into the
structure using the GPU_SAMPLER_STATE_TYPE_INTERNAL type.

The only expected functional change is in the realtime compositor, which
now supports per-axis repetition control, utilizing new API functions
for that purpose.

This patch is loosely based on an older patch D14366 by Ethan Hall.

Pull Request: https://projects.blender.org/blender/blender/pulls/105642
2023-04-04 15:16:07 +02:00
..
CMakeLists.txt Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00
fallback_impl.cc Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00
gpu_shader_display_transform_frag.glsl Metal: GLSL shader compatibility changes for global uniform and interface name collision. 2022-09-22 17:53:56 +02:00
gpu_shader_display_transform_vert.glsl OCIO: Port shader creation logic to use GPUShaderCreateInfo 2022-02-18 22:30:45 +01:00
ocio_capi.cc Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00
ocio_capi.h Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00
ocio_impl_glsl.cc GPU: Refactor texture samplers 2023-04-04 15:16:07 +02:00
ocio_impl.cc Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00
ocio_impl.h Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00
ocio_shader_shared.hh Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00