Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-10-23Cleanup: remove redundant assignment in previous bugfixBrecht Van Lommel
2020-10-23Fix use of uninitialized line/polygon smooth variables in GPU stateBrecht Van Lommel
Found by valgrind, unclear if this caused an actual bug.
2020-10-23Fix T73793 Walk navigation crosshair gets hidden behind objectsClément Foucault
This was reintroduced by the wide line emulation workaround.
2020-10-09GPU: Add more safeguard for BGL callsClément Foucault
This makes sure no BGL call before window drawing locks the GPUState.
2020-10-09BGL: fix issues with addons using BGL at startupClément Foucault
This was an issue for Cycles. This also makes the `GPU_bgl*` functions less fragile by checking for null pointers.
2020-10-09Revert "Revert "BGL: Workaround broken bgl usage caused by GPU refactor""Clément Foucault
This reverts commit f23bf4cb109cb8f39f873c4f80acbec3f33b098c.
2020-10-08Revert "BGL: Workaround broken bgl usage caused by GPU refactor"Clément Foucault
This reverts commit f12b0373f322b710b9fa5cebb67bdf363ff90e9f.
2020-10-08BGL: Workaround broken bgl usage caused by GPU refactorClément Foucault
This directly adress the issues caused by rB536c2e0ec916. Since the state tracking is done at a lower level, using the bgl functions needs to be safegarded by the state manager. The current workaround is to bypass `apply_state` when inside a callback that used a `bgl` function. Related to T80730. This fix T81003. Also this fix the default blend equation for callbacks. Fixes T80169 T81289.
2020-09-19Cleanup: consistent TODO/FIXME formatting for namesCampbell Barton
Following the most widely used convention for including todo's in the code, that is: `TODO(name):`, `FIXME(name)` ... etc.
2020-09-18GPUImmediate: Add system wide workaround for wide lineClément Foucault
This makes wide line supported on MacOS and other implementation that does not support wide line by default. This workaround works for all Line types but only if using one of the 5 default shaders. The workaround is completely isolated and invisible to the outside. It has no side effect. Note: This does not affect the GPUBatch drawing.
2020-09-14Fix T80782 GPU: Curve editing widget point size broken after recent commitClément Foucault
This was caused by a faulty default where program point size was used.
2020-09-13Cleanup: spelling, update function name in commentsCampbell Barton
2020-09-12GPU: Fix wrong state before python callbacksClément Foucault
This was caused by a missing state apply. We force the GPUState to be set after the callbacks to avoid desync between our state tracker and the real gl state. This fixes some issues but a better general fix for all BGL would be better. This fix T80297 2.91 texture alpha is not transparent
2020-09-12Cleanup: GPU: Rename GPUStateManager to StateManager to follow styleClément Foucault
2020-09-12GPU: Add Image Load Store extension supportClément Foucault
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.
2020-09-11GPUState: Fix missing changed program point size stateClément Foucault
Also avoid a case where size is zero and making it impossible to change it back. This fix T80664 Tiny node sockets
2020-09-10GPUState: Fix Point Size issuesClément Foucault
The point size was not updated in the right branch and setting the point size via GPU_point_size was effectively disabling its use.
2020-09-08GPUContext: Move GPUContext to gpu::Context for more consistencyClément Foucault
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()
2020-09-08GPUState: Encapsulate glPixelStorei inside the GLStateManagerClément Foucault
Part of the Vulkan task T68990 Isolate the last remaining gl functions.
2020-09-08GPUState: Encapsulate glFlush and glFinish inside the GLContextClément Foucault
Part of the Vulkan task T68990 Isolate the few remaining gl functions.
2020-09-07GPU: Rename gpu_extensions to gpu_capabilitiesClément Foucault
This makes more sense as this module has more to it than just GL extensions.
2020-08-30GPUState: Move Scissor and Viewport state to framebufferClément Foucault
This way it is way clearer what each viewport state is. There is no more save and reset. The scissor test is also saved per framebuffer. The only rule to remember is that the viewport state (size and origin) is reset for both the viewport and scissor when a texture is attached or detached from an attachment slot.
2020-08-24GPUState: Fix scissor state being overwritten when changing scissor boundsClément Foucault
Fix T79899 viewport artifacts when sculpting
2020-08-23GPUState: Expose Stencil mask and testClément Foucault
This is to be used by framebuffer clearing.
2020-08-20GPUState: Use explicit depth test enumClément Foucault
2020-08-19GPUState: Fix signed / bitfield conversion leading to wrong enum valueClément Foucault
This was creating drawing issues on windows builds.
2020-08-18Cleanup: GPUState: Remove GPU_state_init()Clément Foucault
2020-08-18GPUState: Port default state to StateManager constructorClément Foucault
2020-08-18Cleanup: DRW: Use GPUState instead of raw opengl callsClément Foucault
Should not break anything! Huh!
2020-08-18GPUState: Only apply state before drawingClément Foucault
2020-08-18Cleanup: GPUState: Remove stack from the state manager and rename itClément Foucault
2020-08-18GPUState: Remove gpuPushAttr/gpuPopAttrClément Foucault
And use manual save/restore mechanism. The stack method is not used so much to be considered useful.
2020-08-18GPUState: Make use of GPUStateStack classClément Foucault
This isolate most GL calls to the GL backend. Still a few remains.
2020-08-18GPUState: GPU_blend final API renamingClément Foucault
We now use GPU_blend for enabling / disabling blending and explicitly set the blend equation.
2020-08-18Cleanup: GPUState: remove use of GPU_blend_set_funcClément Foucault
2020-08-18Cleanup: GPUState: Replace blend func separate by enumClément Foucault
2020-08-18Cleanup: GPU: Move towards an explicit Blend stateClé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-18GPUState: Add GL backend and state tracking but do not use itClément Foucault
This is just the backend work. It is not plugged in yet because it needs more external cleanup/refactor.
2020-08-18Cleanup: GPUState: remove float variant of GPU_scissor_getClément Foucault
2020-07-30Cleanup: Split gpu_texture_image.c into BKE and IMB modulesClément Foucault
This is in order to disolve GPU_draw.h into more meaningful code blocks. All the Image related function are in `image_gpu.c`. All the MovieClip related function are in `movieclip.c`. The IMB module now has a connection with GPU. This is not strickly necessary and the code could be move to `image_gpu.c` if needed. The Image garbage collection is also ported to `image_gpu.c`.
2020-07-29GPUState: Fix compilation error on MSVCClément Foucault
2020-07-29GPU: Move gpu_state.c to C++Clément Foucault