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-07-26GPU: Move gpu_immediate.c to C++Clément Foucault
2020-07-18GPU: Add immBindTexture and immBindTextureSamplerClément Foucault
2020-06-04GPUShaderInterface: Change builtin array to array of location/bindClément Foucault
This reduce the base size of the shaderinterface from 400 to 136 bytes. Improves memory usage and cache coherency when querying a lot of uniforms at once.
2020-06-03GPUImmediate: Fix array uniform not workingClément Foucault
2020-06-02Cleanup: GPU: Remove GPU_shaderinterface_uniform_ensureClément Foucault
2020-05-04Merge branch 'blender-v2.83-release'Hans Goudey
2020-05-04GPU: Set Default Buffer Size Immediate ModeJeroen Bakker
We set the default buffer size for strict buffers to 0. This increased the performance on intel but reduced the performance on old AMD cards. This patch sets back the default buffer size for strict buffers. After testing I didn't detect a slow-down anymore. Note that today new firmwares were pushed to the device what might fix some issues.
2020-05-04Revert "Possible fix for T76113: Use GL_STATIC_DRAW in immBegin"mano-wii
This reverts commit 7df51ca11a227b5e51290f8dc976972a01db5d81. Did not solve the main problem.
2020-05-02Possible fix for T76113: Use GL_STATIC_DRAW in immBeginmano-wii
This fixes a freeze when closing temporary windows with `AMD Radeon HD 7570M` The performance is practically the same between calls (with a micro advantage for `GL_STATIC_DRAW`) I couldn't check the difference in memory usage. The ideal would be profile in different setups. But due to the seriousness of the bug, these tests were postponed.
2020-04-27GPU: add assert for immBegin buffer size & contextChristian Rauch
2020-04-20Fix T75914: Assert Knife ToolJeroen Bakker
Actually the assert was incorrect. It tested for an active buffer, but an batch would also be ok.
2020-04-16GPUImmediate: Use 2 Buffers For (Un)StrictJeroen Bakker
We used to have a single buffer that was shared between strict and unstrict draw calls. This leads to many recreation events for the draw buffers. This patch separates the Unstrict draw buffer from the strict draw buffer. This improves performance on Windows Intel 10th gen platform. On a reference platfor before the patch I got 10 FPS, after this patch it became 34fps. Note that the same test normally on a low end GPU can get to 60fps so this does not solve all teh bottlenecks yet. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7421
2020-04-14GPUShader: Implement workaround for gizmo drawing on sRGB framebufferClément Foucault
This solution involves adding a uniform to each fragment shader that is used by gizmo drawing and use the framebuffer state to set this uniform accordingly. This solution can also be carried to external shaders (addons). A single line of code would then be enough to fix the issue. The only trickery here is the dummy define: `#define srgb_to_framebuffer_space(a)` This is in order to avoid breaking other DRW shaders that use the same fragment shader code but do not need the tranformation. Related to T74139 Reviewed By: brecht, campbellbarton Differential Revision: https://developer.blender.org/D7261
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-11GPU: minor changes to support standalone GHOST buildsCampbell Barton
- Move gpuPush/Pop from GPU_draw.h into GPU_state.h as this is for pushing/popping state. - Add 'GPU_STANDALONE' define, to bypass use of user-preferences for theme colors and pixelsize, as well as pbvh init/free functions. Needed to get GHOST tests working again.
2020-02-11DRW: Color Management improvementClément Foucault
Reviewed By: brecht sergey jbakker Differential Revision: http://developer.blender.org/D6729
2019-09-07Cleanup: use post increment/decrementCampbell Barton
When the result isn't used, prefer post increment/decrement (already used nearly everywhere in Blender).
2019-09-06Fix T68950: Adding lots of edge loops to cylinder produces a crashHuseyin Karakullukcu
Instead of fixed size, `IMM_BUFFER_SIZE` is adjustable now. The internal buffer can expand if there is a need a bigger buffer. All other behaviors are still the same. Reviewed By: fclem, #gpu_viewport Differential Revision: https://developer.blender.org/D5570
2019-08-14Cleanup: move trailing comments to avoid wrapping codeCampbell Barton
Some statements were split across multiple lines because of their trailing comments. In most cases it's clearer to put the comments above.
2019-06-06Fix T65383 UI graphics glitches on macOS with Intel HD 4000Clément Foucault
glDrawArrays is not supposed to be affected by primitive restart but osx drivers never cease to surprise me.
2019-04-22Cleanup: style, use braces for gpuCampbell Barton
2019-04-21Cleanup: comments (long lines) in gpuCampbell Barton
2019-04-18Cleanup: comment blocksCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-29Cleanup: replace attrib w/ attrCampbell Barton
Also rename GPUVertexAttribs to GPUVertAttrLayers, avoids confusion with GPUVertAttr which isn't closely related.
2019-01-23Cleanup: use eGPU prefix for GPU enum typesCampbell Barton
2019-01-17GPU: Rename GPU_shader_get_uniform to GPU_shader_get_uniform_ensureClément Foucault
This is in order to make the API more multithread friendly inside the draw manager. GPU_shader_get_uniform will only serve to query the shader interface and not do any GL call, making it threadsafe. For now it only print a warning if the uniform was not queried before.
2018-10-09Cleanup: namingCampbell Barton
- immAttrib* -> immAttr* - immSkipAttrib -> immAttrSkip Term 'attr' is a convention for GPU module.
2018-10-09Cleanup: namingCampbell Barton
2018-09-12Cleanup: use uint/uchar types in GPUCampbell Barton
2018-08-17Fix T55722 : Blender 2.8 crashes on startup on old Nvidia cardsClément Foucault
2018-07-19GPU: Add GC to FBOs and UBOs and centralize all GCsClément Foucault
GPUFrameBuffers were being free when no context was attached or in the wrong gl context. This make sure this does not happen again. You can now safely free any gl resource from any thread (well as long as it's not used anymore!).
2018-07-19Cleanup: styleCampbell Barton
2018-07-18Cleanup: style for GPU moduleCampbell Barton
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-07-18GWN: Port to GPU module: Move files to GPUClément Foucault
This does not include all the struct and type renaming. Only files were renamed. gwn_batch.c/h was fusioned with GPU_batch.c/h gwn_immediate.c/h was fusioned with GPU_immediate.c/h gwn_imm_util.c/h was fusioned with GPU_immediate_util.c/h
2017-04-13Gawain: use ShaderInterface to manage uniformsMike Erwin
This eliminates tons of glGetUniformLocation calls from the drawing loop. Vast majority of code can keep making the same function calls. They're just faster now! - Batch_Uniform* - immUniform* - gpuBindMatrices - and others
2017-04-05Fix T50976: Blender UI problems with certain theme files.Bastien Montagne
Core of the issue was that some of our Theme colors are RGB-only, but were loaded as RGBA. Note that tracking all possible cases is pretty impossible, so we'll have to tackle those as they get reported am afraid.
2017-01-16Updating outliner_draw_struct_marks to retained modeMike Erwin
Had to add a few utility functions to replace existing functions. Let me know if these are duplicates. Reviewers: merwin Reviewed By: merwin Tags: #bf_blender_2.8 Maniphest Tasks: T49043 Differential Revision: https://developer.blender.org/D2434
2016-12-14OpenGL: another way to set uniform theme colorMike Erwin
2016-10-20Gawain: closer integration of immediate mode & matrix APIsMike Erwin
- any shader program can use matrix state (not only built-in shaders) - you can mix matrix & begin/end calls, and the bound shader will use the latest matrix state Part of T49450 & T49043
2016-10-17OpenGL: new immUniformThemeColorShadeAlpha functionMike Erwin
Plus some naming cleanup. Supports T49043
2016-10-13more theme color functions: UI_GetThemeColorBlendShade4fv, ↵Dalai Felinto
immUniformThemeColorBlendShade
2016-10-13gawain/immediate mode: new util functions for color uniformsDalai Felinto
2016-10-10OpenGL: plug new matrix system into shaders (WIP)Mike Erwin
Built-in shaders now use uniforms instead of legacy built-in matrices. So far I only hooked this up for new immediate mode. We use the same matrix naming convention as OpenGL, but without the gl_ prefix, e.g. gl_ModelView becomes ModelView. Right now it can skip the new matrix stack and use the legacy built-in matrices app-side. This will help us transition gradually from glMatrix functions to gpuMatrix functions. Still some work to do in gpuBindMatrices. See TODO comments in gpu_matrix.c for specifics.
2016-09-15Extend Gawain to use Blender's built-in shadersMike Erwin
Was already done for immediate mode, but rearranged code to make a clean separation. Cleaned up #includes for code that uses this feature. Added same for batched rendering.
2016-09-13Gawain: reorganize source codeMike Erwin
Put Gawain source code in a subfolder to make the boundary between the library and the rest of Blender clear. Changed Gawain’s license from Apache to Mozilla Public License. Has more essence of copyleft — closer to GPL but not as restrictive. Split immediate.c into several files so parts can be reused (adding more files soon…)