Age | Commit message (Collapse) | Author |
|
Corrects incorrect usage of contraction for 'it is', when possessive 'its' was required.
Differential Revision: https://developer.blender.org/D9250
Reviewed by Campbell Barton
|
|
This makes possible to rebind the same GPUFrameBuffer to enable or
disable sRGB encoding transform.
|
|
This reverts commit f23bf4cb109cb8f39f873c4f80acbec3f33b098c.
|
|
This reverts commit f12b0373f322b710b9fa5cebb67bdf363ff90e9f.
|
|
This directly adress the issues caused by rB536c2e0ec916.
Since the state tracking is done at a lower level, using the bgl
functions needs to be safegarded by the state manager.
The current workaround is to bypass `apply_state` when inside a
callback that used a `bgl` function.
Related to T80730.
This fix T81003.
Also this fix the default blend equation for callbacks.
Fixes T80169 T81289.
|
|
At the end of `GPU_framebuffer_blit` when `prev_fb->bind(true);` is called,
the `context_->active_fb` was not in sync and lead to the wrong framebuffer
being modified by bind function.
This fix T81055 SSS light is missing from the diffuse light render pass
|
|
|
|
Based on D9069 by @ankitm.
|
|
Blender 2.91 only. Due to recent refactoring the compressed texture
formats missed the conversion to its GL counterpart.
|
|
Following the most widely used convention for including todo's in
the code, that is: `TODO(name):`, `FIXME(name)` ... etc.
|
|
|
|
|
|
|
|
This makes replay analysis inside renderdoc much easier by using the new
debug group functionality.
|
|
Now they will at least show the shader name
|
|
|
|
This was caused by a missing state apply.
We force the GPUState to be set after the callbacks to avoid
desync between our state tracker and the real gl state.
This fixes some issues but a better general fix for all BGL would
be better.
This fix T80297 2.91 texture alpha is not transparent
|
|
|
|
|
|
This wraps the functionality used to speedup EEVEE volumetrics.
This touches the rendering code of EEVEE as it should fix a mis-usage of
the GL barrier. The barrier changed type and location, removing an
unused barrier.
|
|
|
|
Also avoid a case where size is zero and making it impossible to change it
back.
This fix T80664 Tiny node sockets
|
|
The point size was not updated in the right branch and setting the point
size via GPU_point_size was effectively disabling its use.
|
|
This makes it possible to disable all the extensions when forcing
workarounds.
Also it will allow future options to selectively disable each extension
to know which one is buggy.
|
|
This is to improve debugging on older hardware that may not support
4.3 debug capabilities (like Macs).
This avoids sprinkling glGetErrors manually. This might still be needed
to find the root cause since not all functions are covered.
This overrides the functions pointers that GLEW have already init.
This is only enabled if using --debug-gpu option and the debug extension
are not available.
This also cleanup the usage of GLContext::debug_layer_support and use
wrapper to set object labels.
|
|
|
|
This makes it easier to see what each sampler is supposed to be.
|
|
This was caused by an incorrect mipmap size.
Also add debug checks for good mesure.
|
|
|
|
The context might be partialy freed, so use gpu::Context instead of
GLcontext.
|
|
This makes the GPUContext follow the same naming convention as the rest
of the module.
Also add a static getter for extra bonus style (no need for casts):
- Context::get()
- GLContext::get()
|
|
This is a cleanup.
|
|
This avoids unecessary complexity.
Also makes the GPUImmediate threadsafe by using a threadlocal imm variable.
|
|
Part of the Vulkan task T68990
Isolate the last remaining gl functions.
|
|
Part of the Vulkan task T68990
Isolate the few remaining gl functions.
|
|
Also use back-slash instead of '@'.
|
|
This is part of the Vulkan task T68990.
This introduce a new GLQueryPool for managing queries in an
implementation agnostic manner.
This modify the GPU selection query to use this new object.
This also make use of blender::Vector for better code quality.
No real functionnal change.
|
|
This makes it easier to follow.
Also removes the GL related functions inside gpu_context.cc.
|
|
This is part of the Vulkan task T68990
This is a simple cleanup.
|
|
This is part of the Vulkan task T68990
This is a simple cleanup.
|
|
This makes more sense as this module has more to it than just
GL extensions.
|
|
This is to remove an explicit opengl dependence to GPU_extension.
|
|
This is part of the Vulkan task T68990.
This commits changes a few things:
- Rename extensions to capabilities (but left the file name untouched).
- Cubemap mip render workaround detection is rewritten using gl
commands to avoid using the GPU API before initialization.
- Put all the capabilities that are only relevant for the GL backend
inside GLContext as static variables.
- Cleanup the names of the limit variables.
- Separate all GL related workaround search inside the GL module.
|
|
Part of the vulkan implementation T68990.
Pretty straight forward. Just move the GL code inside the GLBackend and
make the GPUPlatformGlobal a class object.
|
|
|
|
Part of the Vulkan port T68990
This makes a few changes in how the data is being handled by the
backend to allow more flexibility in the future.
The overall code logic is left unchanged.
|
|
to avoid more typecasts.
|
|
The combination of DSA + CubeMap seems to not please this driver.
|
|
This is just a cleanup to isolate the internals of the vertbuf.
This adds some getters to avoid refactor of existing code.
|
|
|