Age | Commit message (Collapse) | Author |
|
This was caused by an incorrect bound check. Since we now use different
data type for indexed and non-indexed drawcalls, we need to check if the
next drawcall is going to overflow the buffer.
|
|
This was caused by a missing check left over during the GL isolation.
Fix T84277 Solid and Wireframe viewport performance hit on AMD Radeon GPUs
|
|
Replace `typedef` with `using` in C++ code.
In the case of `typedef struct SomeName { ... } SomeName;` I removed the
`typedef` altogether, as this is unnecessary in C++. Such cases have been
rewritten to `struct SomeName { ... };`
No functional changes.
|
|
No functional changes.
|
|
Replace `NULL` with `nullptr` in C++ code.
No functional changes.
|
|
|
|
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 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 makes it easier to follow.
Also removes the GL related functions inside gpu_context.cc.
|
|
This makes more sense as this module has more to it than just
GL extensions.
|
|
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.
|
|
to avoid more typecasts.
|
|
This is just a cleanup to isolate the internals of the vertbuf.
This adds some getters to avoid refactor of existing code.
|
|
This is part of the Vulkan backend task T68990.
There is no real change, only making some code re-organisation.
This also make the IndexBuf completely abstract from outside the
GPU module.
|
|
|
|
Drawing with 0 sized buffer is prohibited.
|
|
After drawing, the batch could be reset and draw again using other
parameters.
Avoid having to track references by setting the batch pointer to NULL after
drawing.
|
|
|
|
|
|
|
|
This remove the use of batch->program and replace it with batch->shader.
This will allow GL abstraction latter.
|
|
|
|
|