Age | Commit message (Collapse) | Author |
|
Approximately 91 spelling corrections, almost all in comments.
Differential Revision: https://developer.blender.org/D10288
Reviewed by Harley Acheson
|
|
|
|
|
|
This makes replay analysis inside renderdoc much easier by using the new
debug group functionality.
|
|
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.
|
|
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 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()
|
|
Part of the Vulkan task T68990
Isolate the few remaining gl functions.
|
|
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 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.
|
|
This is a massive cleanup needed for vulkan support T68990. It provides:
- More meaningful enums with conversion functions.
- Less hacky supports of arrays and cubemaps (all considered layered).
- More inline with the stateless design of vulkan and modern GL.
- Methods Fallbacks are using framebuffer functions that are wrapped
instead of implementing inside the texture module.
What is not in there:
- API change.
- Samplers support (breaks a few effects).
# Conflicts:
# source/blender/gpu/GPU_texture.h
|
|
|
|
This also make the validation quicker by tracking the currently
bound slots.
|
|
And format to use the same callback as standard debugging layer.
|
|
These are not used anymore and can be replicated using the GPUBatch API.
|
|
This is now handled by FrameBuffer wrapping.
|
|
|
|
This is to ease the debugging process on Apple GL implementation.
|
|
This is in preparation of vulkan backend. We move all opengl
functionnalities behind an abstract class.
This also cleansup the "dynamic" ubo create and rename it to
`GPU_uniformbuf_from_list()`
Contains, no functional change.
Part of T68990 Vulkan support.
|
|
|
|
This changes the drawing paradigm a bit. The VAO configuration is done
JIT-style and depends on context active shader.
This is to allow more flexibility for implementations to do optimization
at lower level.
The vao cache is now its own class to isolate the concept. It is this
class that is reference by the GLContext for ownership of the containing
VAO ids.
|
|
|
|
This just set a global object responsible for allocating new objects
in a thread safe way without needing any GPUContext bound to this
thread.
This also introduce the GLContext which will contain all the GL related
functions for the current context.
# Conflicts:
# source/blender/gpu/intern/gpu_context.cc
|
|
This just set a global object responsible for allocating new objects
in a thread safe way without needing any GPUContext bound to this
thread.
This also introduce the GLContext which will contain all the GL related
functions for the current context.
|