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-09-01GPUOffscreen: Remove scissor and viewport state trackingClément Foucault
This was a workaround that is not needed anymore. Fix FT80321 Cropped output with Viewport Render Animation
2020-09-01GPU: Move UBO binding validation to GL backendClément Foucault
This also make the validation quicker by tracking the currently bound slots.
2020-09-01EEVEE: Volumetric: Fix Mesa Compiler errorClément Foucault
The compiler does not seems to understand the `const` in the function declaration and complains about non constant indexing of unsized array.
2020-09-01GPUDebug: Reformat GL debug callbacks and move them to GL backendClément Foucault
Now the callbacks are setup for each debug context. The formating has been reworked to be less verbose and make errors and warnings stand out from the notifications. Errors are most of the time sufficiently explicit in their message. This also remove the support for AMD_debug_output which is 10 years old. This is related to the Vulkan port T68990.
2020-09-01Cleanup: GPU: Remove GPU_draw_primitive and default_vao_Clément Foucault
These are not used anymore and can be replicated using the GPUBatch API.
2020-09-01Cleanup: Use GPUBatch for icon and area drawingClément Foucault
This is in order to remove GPU_draw_primitive to streamline the drawing abstraction.
2020-08-31Cleanup: GPU: Remove unused attr_binding and primitive codeClément Foucault
2020-08-31GPUImmediate: GL backend isolationClément Foucault
This is part of the Vulkan backend task T68990. This is mostly a cleanup, however, there is a small change: We don't use a special Vertex Array binding function for Immediate anymore and just reuse the one for batches. This might create a bit more state changes but this could be fixed easily if it causes perf regression. # Conflicts: # source/blender/gpu/intern/gpu_context.cc
2020-08-31GLContext: Fix framebuffer deletion to GPUContextClément Foucault
This has more meaning as it's the base class who holds the pointer. # Conflicts: # source/blender/gpu/opengl/gl_context.cc
2020-08-31Cleanup: GPU_immediate: Change assert to BLI_assertClément Foucault
2020-08-30GPUFrameBuffer: Fix build error on MSVCClément Foucault
This also gets rid of the macro.
2020-08-30GPUShader: Improve shader compilation logClément Foucault
- Print shader type (fragment, vertex, geom) - Support for Apple + intel error format. - Handle formatting a bit more gracefully.
2020-08-30GPUFramebuffer: Tag dirty after recursing downsampleClément Foucault
Also do not bind automatically. This is fine since the framebuffer will update next time it's bound.
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-30GPUContext: Update internal framebuffer size when activating contextClément Foucault
This is to ensure the FrameBuffer extents are always up to date.
2020-08-30GPUUniformBuf: Fix debug name being shorter than release nameClément Foucault
2020-08-30Cleanup: GPUContext: Remove default_framebuffer_Clément Foucault
This is now handled by FrameBuffer wrapping.
2020-08-30GPUFrameBuffer: Use debug name supportClément Foucault
This is to make it easier to navigate captures in renderdoc.
2020-08-30GPUFrameBuffer: GL backend isolationClément Foucault
This is related to the Vulkan port T68990. This is a full cleanup of the Framebuffer module and a separation of OpenGL related functions. There is some changes with how the default framebuffers are handled. Now the default framebuffers are individually wrapped inside special GLFrameBuffers. This make it easier to keep track of the currently bound framebuffer state and have some specificity for operations on these framebuffers. Another change is dropping the optimisation of only configuring the changed attachements during framebuffers update. This does not give any benefits and add some complexity to the code. This might be brought back if it has a performance impact on some systems. This also adds support for naming framebuffers but it is currently not used.
2020-08-30Cleanup: GPU: Remove unused init/exit functionsClément Foucault
2020-08-30GPUFramebuffer: Make GPUFrameBuffer an opaque typeClément Foucault
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.
2020-08-30GPUState: Fix missing writemask encapsulationClément Foucault
This was the last remaining.
2020-08-28GPU: Fix Segmentation Fault Freeing Failed ShaderJeroen Bakker
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
2020-08-28Revert "GPU: Fix Segmentation Fault Freeing Failed Shader"Jeroen Bakker
This reverts commit c28432680971f54ebe95cc953606a3a4d3bc5c7c.
2020-08-28GPU: Fix Segmentation Fault Freeing Failed ShaderJeroen Bakker
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
2020-08-25Fix T79494 Refrence Image reflects object after source got deletedClément Foucault
Silly typo was causing the error texture to not be bound.
2020-08-25GPUState: Move state limits getter to the area they belongClément Foucault
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.
2020-08-25GPUSelect: Avoid assert caused by clearing without a depth maskClément Foucault
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.
2020-08-24GPUState: Fix scissor state being overwritten when changing scissor boundsClément Foucault
Fix T79899 viewport artifacts when sculpting
2020-08-23Fix T80034 Crash using material panel on 2.91.0 alphaClément Foucault
This was caused by a NULL name.
2020-08-23Cleanup: GPU: Use explicit clear value in GPU_clear* commandsClément Foucault
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.
2020-08-23GPUFramebuffer: Use GPUState to temporary change write mask in clear fnClément Foucault
This avoid breaking sync of the state object. Also avoid more hazard.
2020-08-23GPUState: Expose Stencil mask and testClément Foucault
This is to be used by framebuffer clearing.
2020-08-22Fix T79971 Regression: Transform Gizmos doesnt work anymoreClément Foucault
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
2020-08-21Cleanup: spellingCampbell Barton
2020-08-21Cleanup: GPU: Update classes commentsClément Foucault
This should avoid confusion about what is a class and what is an opaque pointer.
2020-08-21GPUShader: Make GPUShader* an opaque pointer to blender::gpu::ShaderClément Foucault
This avoids the misleading inheritance. Also cleanup by setting the blender::gpu::Shader as active shader to avoid some casting.
2020-08-21GPUShader: Fix NULL string used as shader name.Clément Foucault
The shader name is required with the latest changes.
2020-08-21GPUUniformBuf: GL backend isolationClément Foucault
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.
2020-08-21GPUUniformBuf: Rename struct and change API a bitClément Foucault
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.
2020-08-20Cleanup: Clang Tidy: Resolve readability-delete-null-pointer errorHans Goudey
2020-08-20GPUState: Use state setters inside selection codeClément Foucault
This fixes T79945 Gizmos don't work in Edit Mode
2020-08-20GPUState: Use explicit depth test enumClément Foucault
2020-08-20GPUShaderInterface: GL backend isolationClément Foucault
2020-08-20GPU: Use GPUShader setters for uniforms removing uses of ShaderInterfaceClé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-19GPUShader: Fix apple clang warningsClément Foucault
2020-08-19Cleanup: spellingCampbell Barton
2020-08-18Cleanup: GPUState: Remove GPU_state_init()Clément Foucault
2020-08-18GPUState: Use GPU_viewport to set viewport state in GPU_framebufferClément Foucault
also fix a small issue in GPU_texture_clear.