Age | Commit message (Collapse) | Author |
|
This is in preparation of the Framebuffer GL backend.
This is a just changing types and moving some code.
No logic is changed... almost... it just removes the context attach.
i.e: `gpu_context_add/remove_framebuffer()`
This is not needed for now and was even disabled in release.
This is part of T68990.
|
|
This was the last remaining.
|
|
The CPP Shader class does not initialize the interface attribute.
What will crash when deleting the shader.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8740
|
|
This reverts commit c28432680971f54ebe95cc953606a3a4d3bc5c7c.
|
|
In recent refactoring {a9f2ebb21508} an issue was introduced that the
opengl rasterizer would be disabled when only writing to a stencil
buffer.
This fix adds stencil writing to the write mask and set it. This makes
the write map not evaluate to GPU_WRITE_NONE and the rasterizer will be
enabled in `GLStateManager::set_write_mask`.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8743
|
|
The CPP Shader class does not initialize the interface attribute.
What will crash when deleting the shader.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8740
|
|
|
|
Silly typo was causing the error texture to not be bound.
|
|
This fix a GL_INVALID_VALUE error on startup due to 0.0f max line width.
Also moves the max anisotropy filter to the sampler creation.
This reduces code fragmentation.
|
|
The VAO reconfiguration from the offset workaround was not working.
|
|
|
|
This is to ease the debugging process on Apple GL implementation.
|
|
This should not cause any problem since the depth test is required
in order to draw to the depth buffer and this is not altered by
this change.
To be on the safe side, we still restor the mask after altering it.
|
|
This is quite embarassing... it was returning the base instance instead of
the correct vao. No wonder that it was causing crash and at most drawing
issues.
|
|
Regression caused by rB9443da6166f5. Forgot to clear the flag.
|
|
Fix T79899 viewport artifacts when sculpting
|
|
This was caused by a NULL name.
|
|
This replace `GPU_clear()` by `GPU_clear_color()` and `GPU_clear_depth()`.
Since we always set the clear value before clearing, it is unecessary
to track the clear color state.
Moreover, it makes it clearer what we clear the framebuffer to.
|
|
This avoid breaking sync of the state object. Also avoid more hazard.
|
|
This is to be used by framebuffer clearing.
|
|
This changes the state of occlusion queries quite a bit. Now scissors is
explicitely disabled and we enabled color write.
I still don't understand why we now need this. This patch is just trial and
error on an affected setup. Note that on the same computer, renderdoc
was not able to capture the regression (the regression did not manifest
during capture).
Regression likely introduced by rB5f414234ddea
|
|
|
|
Linking without valid shaders works on some drivers. Avoid this case by
forcing linking step to return false.
|
|
This should avoid confusion about what is a class and what is an opaque
pointer.
|
|
This avoids the misleading inheritance.
Also cleanup by setting the blender::gpu::Shader as active shader to
avoid some casting.
|
|
The shader name is required with the latest changes.
|
|
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 follows the GPU module naming of other buffers.
We pass name to distinguish each GPUUniformBuf in debug mode.
Also remove DRW_uniform_buffer interface.
|
|
|
|
|
|
This fixes T79945 Gizmos don't work in Edit Mode
|
|
|
|
|
|
|
|
This was creating drawing issues on windows builds.
|
|
|
|
|
|
|
|
also fix a small issue in GPU_texture_clear.
|
|
|
|
Should not break anything! Huh!
|
|
|
|
|
|
And use manual save/restore mechanism.
The stack method is not used so much to be considered useful.
|
|
This isolate most GL calls to the GL backend. Still a few remains.
|
|
|
|
We now use GPU_blend for enabling / disabling blending and explicitly
set the blend equation.
|
|
|
|
|
|
This make use of the GLStateStack functions for:
- `GPU_blend()`
- `GPU_blend_set_func()`
- `GPU_blend_set_func_separate()`
The goal is to unify them using an explicit state setting.
This will remove the need to use obscure blend functions
|