Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-08-18 | GPUState: Port default state to StateManager constructor | Clément Foucault | |
2020-08-18 | Cleanup: DRW: Use GPUState instead of raw opengl calls | Clément Foucault | |
Should not break anything! Huh! | |||
2020-08-18 | GPUState: Only apply state before drawing | Clément Foucault | |
2020-08-18 | Cleanup: GPUState: Remove stack from the state manager and rename it | Clément Foucault | |
2020-08-18 | GPUState: Remove gpuPushAttr/gpuPopAttr | Clément Foucault | |
And use manual save/restore mechanism. The stack method is not used so much to be considered useful. | |||
2020-08-18 | GPUState: Make use of GPUStateStack class | Clément Foucault | |
This isolate most GL calls to the GL backend. Still a few remains. | |||
2020-08-18 | GPUState: GPU_blend final API renaming | Clément Foucault | |
We now use GPU_blend for enabling / disabling blending and explicitly set the blend equation. | |||
2020-08-18 | Cleanup: GPUState: remove use of GPU_blend_set_func | Clément Foucault | |
2020-08-18 | Cleanup: GPUState: Replace blend func separate by enum | Clément Foucault | |
2020-08-18 | Cleanup: GPU: Move towards an explicit Blend state | Clément Foucault | |
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 | |||
2020-08-18 | GPUState: Add GL backend and state tracking but do not use it | Clément Foucault | |
This is just the backend work. It is not plugged in yet because it needs more external cleanup/refactor. | |||
2020-08-18 | Cleanup: GPU: Remove uneeded depth precision getter. | Clément Foucault | |
We always use 24bit framebuffers nowadays. | |||
2020-08-18 | Cleanup: GPUState: remove float variant of GPU_scissor_get | Clément Foucault | |
2020-08-18 | GPUShader: Add back vertformat_from_shader() | Clément Foucault | |
2020-08-18 | GPUShader: Improve auto name | Clément Foucault | |
Use macro to get calling function name. Helps debugging shaders. | |||
2020-08-18 | GPUShader: Rewrite error printing | Clément Foucault | |
Now error printing only display the line related to the error. We also put char marker if present. Example: ``` -- Shader Compilation Errors : MAMaterial -- 10414 | node_fresnel(, facingnormal, viewposition, tmp34); | ^ | error: syntax error, unexpected ',', expecting ')' ---------------------------------- ``` | |||
2020-08-18 | GPUShader: GL backend isolation | Clément Foucault | |
2020-08-18 | Cleanup: GPU: Replace Batch uniform by shader uniform using macro | Clément Foucault | |
This is a first step into removing uniforms from GPU_batch and Imm. | |||
2020-08-18 | Fix T77564: VSE (and compositor background) lost stereoscopy preview | Clément Foucault | |
Issue introduced on fe045b2b77dc6d7f0b552619fe824b496d34db6c. Since the stereoscopy compositing (anaglyph, ...) is only done for viewports the VSE preview and compositor need to use viewports. Reviewed by: dfelinto Differential Revision: https://developer.blender.org/D8472 | |||
2020-08-18 | Merge branch 'blender-v2.90-release' | Clément Foucault | |
2020-08-18 | GPUTexture: Extend CUBE_MAP_ARRAY_ARB proxy workaround to all Apple gpus | Clément Foucault | |
Related to T79716 | |||
2020-08-17 | Cleanup: header order, trailing space | Campbell Barton | |
2020-08-17 | Cleanup: spelling | Campbell Barton | |
2020-08-13 | GPUShader: Add more uniform functions | Clément Foucault | |
2020-08-13 | Cleanup: GPU: Remove Batch vao cache reset | Clément Foucault | |
This is done at drawtime automatically. | |||
2020-08-13 | GPUBatch: GL backend isolation | Clément Foucault | |
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 | GPUBatch: Move allocator to backend | Clément Foucault | |
2020-08-13 | GPUBatch: Merge phase and ownership flags and cleanup there usage | Clément Foucault | |
Also add new flags to communicate specific behavior to future backend. | |||
2020-08-13 | DRW: InstanceData: Remove hacks of batch freeing callback | Clément Foucault | |
We instead use a handle reference counter on the GPUVertBufs used by the instancing batches. This make sure that if an update happens on the GPUVertBuf used to contruct the batch, they will never have the same memory address than the previously allocated ones (since they are still pending deletion thanks to the refcounter). This avoid the linear search to update the GPUBatch in the case a batch is deleted (which was even a bad option since they could be only cleared) | |||
2020-08-13 | GPU: Use GPU_vertbuf_create & GPU_indexbuf_calloc instead of manual alloc | Clément Foucault | |
2020-08-13 | GPUVertBuf: Add handle refcount | Clément Foucault | |
A handle refcount is here to avoid freeing of the GPUVertBuf datablock if it is still referenced somewhere else. This does not prevent deleting the actual data. This is to avoid too much zombie data usage. This is in order to avoid most hacks inside `draw_instance_data.c`. | |||
2020-08-13 | GPUBatch: Remove most use of GPU_batch_draw_advanced() | Clément Foucault | |
This is in order to better encapsulate / isolate the drawing code. | |||
2020-08-13 | Cleanup: GPUBatch: Remove GL functions from uniform assignment | Clément Foucault | |
2020-08-13 | Cleanup: GPUBatch: Move gpu_batch_private.h to CPP header | Clément Foucault | |
2020-08-13 | Cleanup: GPUShader: Remove unused code | Clément Foucault | |
2020-08-13 | GPUShader: Change shader state tracking to be part of the GPUContext | Clément Foucault | |
This remove the use of batch->program and replace it with batch->shader. This will allow GL abstraction latter. | |||
2020-08-13 | GPUBatch: Remove usage of gl_prim_type outside of GPU module | Clément Foucault | |
2020-08-13 | GPUDrawList: GL backend isolation | Clément Foucault | |
2020-08-11 | Cleanup: Resolve clang tidy warning / error | Hans Goudey | |
2020-08-11 | Merge branch 'blender-v2.90-release' | Clément Foucault | |
2020-08-11 | Fix T79703 EEVEE: Crash on Macos due to lightcache baking | Clément Foucault | |
2020-08-10 | Merge branch 'blender-v2.90-release' | Jeroen Bakker | |
2020-08-09 | Fix T79246 GPUShader: compile error on AWS Elastic Graphics | Clément Foucault | |
2020-08-08 | Cleanup: use array syntax for sizeof with fixed values | Campbell Barton | |
Also order sizeof(..) first to promote other values to size_t. | |||
2020-08-08 | Clenup: use STREQ macro | Campbell Barton | |
2020-08-08 | Cleanup: GPU: Change gpu_context_private.h to C++ only header | Clément Foucault | |
2020-08-08 | GPUBackend: Add new GPUBackend object to manage GL object allocations | Clément Foucault | |
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 | |||
2020-08-08 | GPUBackend: Add new GPUBackend object to manage GL object allocations | Clément Foucault | |
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. | |||
2020-08-08 | GPU: Move ghost default framebuffer getter to context creation | Clément Foucault | |
2020-08-08 | GPUBatch: Use custom allocator | Clément Foucault | |
This is needed for the new GPU abstraction. |