Clément Foucault
949d92ad5d
Fix T79811 MacOS: Edit Mode - vertex/edge/face selection is missing
...
The VAO reconfiguration from the offset workaround was not working.
2020-08-25 17:42:07 +02:00
Clément Foucault
b43f4fda19
GL: Add error checking function
...
This is to ease the debugging process on Apple GL implementation.
2020-08-25 15:02:34 +02:00
Clément Foucault
ed4c83f61f
T79811 MacOS: Edit Mode - vertex/edge/face selection is missing
...
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.
2020-08-24 19:25:43 +02:00
Clément Foucault
7ce764c9ec
Fix T79896 Awful performance with Dyntopo on
...
Regression caused by rB9443da6166f5. Forgot to clear the flag.
2020-08-24 13:52:01 +02:00
Clément Foucault
220fbdf593
GPUShader: Make GPUShader* an opaque pointer to blender::gpu::Shader
...
This avoids the misleading inheritance.
Also cleanup by setting the blender::gpu::Shader as active shader to
avoid some casting.
2020-08-21 14:16:42 +02:00
Clément Foucault
5a957c0299
GPUShaderInterface: Fix use after free crash
2020-08-20 17:57:05 +02:00
Clément Foucault
19d72175ba
GPUShaderInterface: GL backend isolation
2020-08-20 16:11:14 +02:00
Clément Foucault
536c2e0ec9
GPUState: Only apply state before drawing
2020-08-18 21:30:10 +02:00
Clément Foucault
216d78687d
GPUShader: GL backend isolation
2020-08-18 21:30:09 +02:00
Clément Foucault
41235eed1d
GPU: Avoid invalid GL API usage
...
Drawing with 0 sized buffer is prohibited.
2020-08-18 13:53:07 +02:00
Clément Foucault
efc97b3919
GPUBatch: GL backend isolation
...
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.
2020-08-13 14:20:24 +02:00
Clément Foucault
47bfb0f7ad
GPUBatch: Move allocator to backend
2020-08-13 14:20:24 +02:00