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-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-08T81340: UBSan: load of value .. not valid for GPU enum typeAnkit Meel
The underlying type of the enum cannot be fixed here due to its usage in C code. All the values possible in the width of the underlying type are not valid for an enum. Only 0 to (2*max - 1) if all enumerators are unsigned. So the macro asks for the biggest value among the //listed// ones. If any enumerator C is set to say `A|B`, then C would be the maximum. (2*max-1) is used as the mask. The warnings (for each enum modified in this commit): GPU_vertex_buffer.h:43:1: runtime error: load of value 4294967291 which is not a valid value for type 'GPUVertBufStatus' https://github.com/llvm/llvm-project/commit/1c2c9867 Ref T81340 Reviewed By: fclem Differential Revision: https://developer.blender.org/D9067
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-10-07GPU: Fix assert when using gpu workaround and SSS + light renderpassClément Foucault
This path makes use of more framebuffers when using the gpu workarounds. Increase the MAX FBO attachments per texture. Maybe we could use a growing vector in the future.
2020-10-02Cleanup: trailing spaceCampbell Barton
2020-10-02Cleanup: compiler warningsCampbell Barton
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-19Cleanup: spellingCampbell Barton
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-18Sculpt: Render Mask and Face Sets with modifiers activePablo Dobarro
This removes the limitation of the sculpt overlays not being visible with modifiers active. Reviewed By: fclem Maniphest Tasks: T68900 Differential Revision: https://developer.blender.org/D8673
2020-09-16GPUDebug: Avoid using STREQ on StringRefClément Foucault
This might be dangerous because StringRef is not guaranteed to be null-terminated and STREQ assumes null termination.
2020-09-16Cleanup: spellingCampbell Barton
2020-09-16GPUShader: Add meaningful debug names to builtin shadersClément Foucault
This makes the debugging easier.
2020-09-16GPU: Add debug groups inside selection codeClément Foucault
This makes the debugging easier.
2020-09-16GPUDebug: Add function to test if inside a debug groupClément Foucault
This is a nice way to check certain GPU codepaths only for some regions or callers paths.
2020-09-15Liquid Simulation Display Options (GSoC 2020)Sriharsha Kotcharlakot
All the changes made in the branch `soc-2020-fluid-tools` are included in this patch. **Major changes:** === Viewport Display === - //Raw voxel display// or //closest (nearest-neighbor)// interpolation for displaying the underlying voxel data of the simulation grids more clearly. - An option to display //gridlines// when the slicing method is //single//. ==== Grid Display ==== - Visualization for flags, pressure and level-set representation grids with a fixed color coding based on Manta GUI. ==== Vector Display ==== - //**M**arker **A**nd **C**ell// grid visualization options for vector grids like velocity or external forces. - Made vector display options available for external forces. ==== Coloring options for //gridlines// ==== - Range highlighting and cell filtering options for displaying the simulation grid data more precisely. - Color gridlines with flags. - Also, made slicing and interpolation options available for Volume Object. Reviewed By: JacquesLucke, sebbas Differential Revision: https://developer.blender.org/D8705
2020-09-15Fix T80681 Wireframe is not visible on square planes with 16384 quadsClément Foucault
Fix wrong logic.
2020-09-15Fix T80630: potential crash in volume grids in Eevee shadersBrecht Van Lommel
Found by address sanitizer.
2020-09-15CleanUp: Fixed incorrect parameters to GPU_depth_testJeroen Bakker
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-14Cleanup: GPUDebug: Use Vector instead of custom stackClément Foucault
2020-09-14GPU: Add debug groupsClément Foucault
Debug groups makes it easier to view from where an error comes from. The backend can also implement its own callback to make it easier to follow the API call structure in frame debuggers.
2020-09-13Cleanup: spelling, update function name in commentsCampbell Barton
2020-09-12Fix remaining GL calls/type preventing from building due to recent cleanupClément Foucault
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-12Cleanup: GPU: Remove unused GPU_debugClément Foucault
2020-09-12Cleanup: Remove GLEW dependencies outside of GL moduleClé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-11Fix T80327 UI: Glitches in UI drawingClément Foucault
This was caused by an uninitialized variable that was left unchanged when calling GPU_vertformat_clear.
2020-09-10GPUBatch: Do not unbind shader after drawing.Clément Foucault
This allows subsequent redraw to work just like before. However a better safeguard system against setting the uniforms in the wrong shader would be nice to have.
2020-09-10GPUImmediate: Fix wrong resize of immBatchAtMostClément Foucault
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-08DrawManager: Fixed memory leak in test casesJeroen Bakker
Memory leak is introduced as test cases reinitializes the GPU stack. Added a call to GPU_backend_exit to fix this. In GPU_backend_exit the GPU backend was destroyed but the pointer wasn't reset for reuse. This patch also clears the pointer to be reused.
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-08GPU: Cleanup implementation castsClément Foucault
- Use the syntactic wrap/unwrap method to make code more readable. - Update comment about hidden struct behind opaque types. - Cleanup GPUDrawList type.
2020-09-08GPUTexture: Remove unused functions and avoid GPU_texture_opengl_bindcodeClément Foucault
This is a cleanup.
2020-09-08GPUImmediate: Make activation / deactivation implicitClément Foucault
This avoids unecessary complexity. Also makes the GPUImmediate threadsafe by using a threadlocal imm variable.
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-08Cleanup: consistent syntax for doxygen parametersCampbell Barton
Also use back-slash instead of '@'.
2020-09-08GPUQuery: GL Backend isolationClément Foucault
This is part of the Vulkan task T68990. This introduce a new GLQueryPool for managing queries in an implementation agnostic manner. This modify the GPU selection query to use this new object. This also make use of blender::Vector for better code quality. No real functionnal change.
2020-09-08GPU: Select Pick: Remove last GL callClément Foucault
This is part of the Vulkan task T68990 This is just a cleanup.
2020-09-08GPUFramebuffer: Make GPU_framebuffer_read_depth more flexibleClément Foucault
This is to make use of it in selection code.
2020-09-07Cleanup: GLBackend: Move buf_free and tex_free to GLContextClément Foucault
This makes it easier to follow. Also removes the GL related functions inside gpu_context.cc.
2020-09-07GPUCapabilities: Isolate GL memory statisticsClément Foucault
This is part of the Vulkan task T68990 This is a simple cleanup.