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
2021-07-16Cleanup: remove redundant parenthesesCampbell Barton
2021-07-15Cleanup: replace BLI_assert(!"text") with BLI_assert_msg(0, "text")Campbell Barton
This shows the text as part of the assertion message.
2021-07-07Cleanup: spelling in commentsCampbell Barton
2021-07-06GPU: Fix crash when using EGL with --gpu-debug flag.Jeroen Bakker
During initialization of the platform a debug message is generated and interpreted by de callback. Here the platform is checked what requires an initialized platform. Fixed by giving the platform check less priority in the check.
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-06-29Cleanup: GPU Shader Log Parsing.Jeroen Bakker
- Added functions to check if the cursor is at a number. - Added function to parse a number. - Joined skip_separator functions. - Added function to check if cursor is at any given set of characters.
2021-06-29Fixed issue in previous commit.Jeroen Bakker
During development a test was disabled. Enabling it again.
2021-06-29Fix T89405: Viewport Render Preview glitching (AMD)Jeroen Bakker
AMD Drivers didn't report an additional space in the rendered. This made testing for the HQ workaround fail and the issue appeared back on certain cards. This fix will test with surrounding spaces or if the renderer name endswith the given string. If any of these are the case the hq normals workaround will be enabled.
2021-06-28GPU: Refactored +cleanup compilation log parsing.Jeroen Bakker
Old implementation has a single parser of many different formats. With the introduction of Vulkan this would lead to another parser in the same function. This patch separates the log parsing using a visitor pattern so the log parsing can be configured per GPU backend or even per driver. With Vulkan we manage the compiler our self so the parsing will become more straight forward. The OpenGL part depends on many factors (OS, Driver) and perhaps even GPU.
2021-06-26Cleanup: full sentences in comments, improve comment formattingCampbell Barton
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2021-05-28DrawManager: Use Compute Shader to Update Hair.Jeroen Bakker
This patch will use compute shaders to create the VBO for hair. The previous implementation uses transform feedback. Timings before: between 0.000069s and 0.000362s. Timings after: between 0.000032s and 0.000092s. Speedup isn't noticeable by end-users. The patch is used to test the new compute shader pipeline and integrate it with the draw manager. Allowing EEVEE, Workbench and other draw engines to use compute shaders with the introduction of `DRW_shgroup_call_compute` and `DRW_shgroup_vertex_buffer`. Future improvements are possible by generating the index buffer of hair directly on the GPU. NOTE: that compute shaders aren't supported by Apple and still use the transform feedback workaround. Reviewed By: fclem Differential Revision: https://developer.blender.org/D11057
2021-05-26Revert "DrawManager: Use Compute Shader to Update Hair."Jeroen Bakker
This reverts commit 8f9599d17e80254928d2d72081a4c7e0dee64038. Mac seems to have an error with this change. ``` ERROR: /Users/blender/git/blender-vdev/blender.git/source/blender/draw/intern/draw_hair.c:115:44: error: use of undeclared identifier 'shader_src' ERROR: /Users/blender/git/blender-vdev/blender.git/source/blender/draw/intern/draw_hair.c:123:13: error: use of undeclared identifier 'shader_src' ERROR: make[2]: *** [source/blender/draw/CMakeFiles/bf_draw.dir/intern/draw_hair.c.o] Error 1 ERROR: make[1]: *** [source/blender/draw/CMakeFiles/bf_draw.dir/all] Error 2 ERROR: make: *** [all] Error 2 ```
2021-05-26DrawManager: Use Compute Shader to Update Hair.Jeroen Bakker
This patch will use compute shaders to create the VBO for hair. The previous implementation uses tranform feedback. Timings master (transform feedback with GPU_USAGE_STATIC between 0.000069s and 0.000362s Timings transform feedback with GPU_USAGE_DEVICE_ONLY. between 0.000057s and 0.000122s Timings compute shader between 0.000032 and 0.000092s Future improvements: * Generate hair Index buffer using compute shaders: currently done single threaded on CPU, easy to add as compute shader. Reviewed By: fclem Differential Revision: https://developer.blender.org/D11057
2021-05-26GPU: Compute Pipeline.Jeroen Bakker
With the compute pipeline calculation can be offloaded to the GPU. This patch only adds the framework for compute. So no changes for users at this moment. NOTE: As this is an OpenGL4.3 feature it must always have a fallback. Use `GPU_compute_shader_support` to check if compute pipeline can be used. Check `gpu_shader_compute*` test cases for usage. This patch also adds support for shader storage buffer objects and device only vertex/index buffers. An alternative that had been discussed was adding this to the `GPUBatch`, this was eventually not chosen as it would lead to more code when used as part of a shading group. The idea is that we add an `eDRWCommandType` in the near future. Reviewed By: fclem Differential Revision: https://developer.blender.org/D10913
2021-05-21Fix T88227: Eevee not working on AMD 535 cards.Jeroen Bakker
Enabled HQ normals workaround for this specific configuration.
2021-05-17Cleanup: missing declaration warningCampbell Barton
2021-05-14Python GPU: New 'platform' moduleGermano Cavalcante
This module exposes the platform utils defined in the GPU module in C. This will be useful for porting existing code with `bgl` to `gpu`. Reviewed By: fclem, brecht, campbellbarton Maniphest Tasks: T80730 Part of D11147
2021-05-14Python GPU: New 'capabilities' moduleGermano Cavalcante
This module exposes the capabilities defined in the GPU module in C. This will be useful for porting existing code in `bgl` to `gpu`. Reviewed By: fclem, brecht, campbellbarton Maniphest Tasks: T80730 Part of D11147
2021-05-10Merge branch 'blender-v2.93-release'Pablo Dobarro
2021-05-10Fix T88180: Enable HQ normal workaround for RX 580X cards.Jeroen Bakker
This needs to be backported to 2.83.
2021-05-06Cleanup: spellingCampbell Barton
2021-04-30Fix uninitialized memory use in GLDrawListCampbell Barton
GLDrawList::init() used MDI_INDEXED which checks base_index_.
2021-04-09Cleanup: use our own code style for doxy-gen comment blocksCampbell Barton
2021-04-08Cleanup: enable modernize-use-equals-default checkJacques Lucke
This removes a lot of unnecessary code that is generated by the compiler automatically. In very few cases, a defaulted destructor in a .cc file is still necessary, because of forward declarations in the header. I removed some defaulted virtual destructors, because they are not necessary, when the parent class has a virtual destructor already. Defaulted constructors are only necessary when there is another constructor, but the class should still be default constructible. Differential Revision: https://developer.blender.org/D10911
2021-03-18Cleanup: spellingCampbell Barton
2021-02-21GPU: Add RGB10_A2 format supportClément Foucault
Nice format to output high definition normals or normalized colors.
2021-02-17Cleanup: Abbreviate enums with 'UNSIGNED_' in the nameGermano Cavalcante
2021-02-17Cleanup: spellingCampbell Barton
2021-02-06UI: Fix Typos in Comments and Docsluzpaz
Approximately 91 spelling corrections, almost all in comments. Differential Revision: https://developer.blender.org/D10288 Reviewed by Harley Acheson
2021-02-05Cleanup: outdated/unhelpful commentsCampbell Barton
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2021-02-03GL: Improve framebuffer error message by adding framebuffer nameClément Foucault
Framebuffer error can be hard to track. This makes it much easier to find the wrong framebuffer configuration.
2021-02-03Merge branch 'blender-v2.92-release'Clément Foucault
2021-02-03Fix T85314 GPU: Drawlist submit data overflows.Clément Foucault
This was caused by an incorrect bound check. Since we now use different data type for indexed and non-indexed drawcalls, we need to check if the next drawcall is going to overflow the buffer.
2021-02-02macOS: fix warning about unkown GPU with Apple M1 chipBrecht Van Lommel
2021-02-01Merge branch 'blender-v2.92-release'Clément Foucault
2021-02-01GPU: Fix performance regression on AMD GPUClément Foucault
This was caused by a missing check left over during the GL isolation. Fix T84277 Solid and Wireframe viewport performance hit on AMD Radeon GPUs
2021-01-27Fix T84329: Crash when loading the blender with deprecated graphics driverGermano Cavalcante
Add the driver `4.5.13467` related to `Radeon R5 Graphics` to the workaround list.
2021-01-26GPU: Enable HQ normals workaround for any AMD Drivers on Polaris.Jeroen Bakker
2021-01-26GPU: Enable HQ normals workaround for AMD 21.1.1 driver.Jeroen Bakker
AMD 21.1.1 still has the same issues as reported in T82856.
2021-01-12GPU: Remove Limited Support AMD PolarisJeroen Bakker
Removing the limited support message as the known opengl issues of the recent drivers with polaris cards have been tackled.
2021-01-08GPU: Mark AMD Polaris 20.11+ drivers with limited support.Jeroen Bakker
The issue does not render wireframes correctly.
2021-01-08GPU: Enable HQ normal work around on Linux.Jeroen Bakker
Linux does not report the driver version. It does report the OpenGL version. This change will check the OpenGL version to enable the HQ normal work around.
2021-01-04GPU: Enable HQ normal work around for AMD PolarisJeroen Bakker
THe high quality normals work around is enabled for Polaris cards using the official drivers. Since driver version 2.11.2 they fail to render using low quality normals. The detection of polaris cards is done by matching the opengl renderer. The renderer strings have been extracted from various reports linked to {T82856} but isn't complete as some reports are missing the exact renderer as users don't always report via the help menu.
2021-01-04Cleanup: docy comments beginning with '/**' don't end with '**/'Campbell Barton
2020-12-09Cleanup: various clang tidy fixesJacques Lucke
2020-12-09Degraded AMD 20.11.3 driver to limited support.Jeroen Bakker
2020-12-09Workaround for Access Violation startup crash on deprecated Radeon GPUs on ↵Jeroen Bakker
Windows This is a workaround for T80804. There's a startup crash that happens on 2.91.0 on Windows, an `EXCEPTION_ACCESS_VIOLATION` on `atio6axx.dll`. It is triggered by `glClear` on the `detect_mip_render_workaround` function. The workaround moves the function after the device/driver workaround section and sets the flag to the affected one to avoid running the check. It is deprecated hardware that has not meet the minimum requirements since 2.79, but is still usable and this extends its usability a bit before the cards are finally blacklisted. Reviewed By: Jeroen Bakker Differential Revision: https://developer.blender.org/D9667
2020-12-09Raised AMD/Terascale2 from unsupported to supported.Jeroen Bakker
There is a patch that fixes the crash on startup {D9667}.