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
2022-03-20GPUSource: Fix failure case in the enum preprocessorClément Foucault
Some C headers might define the typedefs of the enum themselves. Even if they are guarded by preprocessor `#if`, our enum preprocessor has no idea of the validity of the statement. So we just bypass if there is a typedef just before any `enum` keywords. Note that the typedef matching is quite fragile.
2022-03-20GPencil: Use ShaderCreateInfo for antialiasing shadersClément Foucault
Simple port. Shouldn't break anything.
2022-03-20GPencil: Use ShaderCreateInfo for vfx shadersClément Foucault
Simple port. Shouldn't break anything.
2022-03-18GPUTexture: Add Cube view as 2D arrayClément Foucault
This is useful to read/write to the textures directly using compute shaders and imageLoad/Store.
2022-03-18GPU: Add indirect dispatch support.Clément Foucault
This uses a StorageBuf as the source of indirect dispatch argument. The user needs to make sure the parameters are in the right order. There is no support for argument offset for the moment as there is no need for it. But this might be added in the future. Note that the indirect buffer is synchronized at the backend level. This is done for practical reasons and because this feature is almost always used for GPU driven pipeline.
2022-03-18GPU: StorageBuf: Add method to clear the buffer in place.Clément Foucault
This is a faster way to clear a buffer instead of reuploading new data. It is equivalent to `memset` and runs directly on the GPU. This is better to clear huge buffers and to avoid the sync cost of data upload.
2022-03-18Cleanup: GPUStorageBuf: Fix header licenseClément Foucault
2022-03-18Cleanup: SSBO: Rename ubo to ssbo in arguments.Clément Foucault
2022-03-18GPU: Add support for stencil buffer texturing mode.Clément Foucault
This adds the possibility to read the stencil buffer inside shaders. This is only available on GL 4.3 so use it accordingly.
2022-03-18GL: Check texture framebuffer feedback only if not using compute pipeline.Clément Foucault
This was getting in the way in multiple instances. Compute shaders dispatch are still made in the presence of the last bound framebuffer even if they do not interact with it.
2022-03-18GPUTexture: Fix bug in texture view creationClément Foucault
The switch case was based on an uninitialized value.
2022-03-18GL: Add missing format in image layout conversionClément Foucault
2022-03-18GPUShaderCreateInfo: Add explicit early_fragment_testClément Foucault
2022-03-18GPUTexture: Expose layer & mip countClément Foucault
2022-03-18GLShader: Fix two small issues with compute shader generated codeClément Foucault
2022-03-18DRW: Add support for GPUStorageBufClément Foucault
2022-03-18GPU/GL: Add StorageBuf implementationClément Foucault
Almost 1:1 identical to UniformBuf implementation.
2022-03-18GPUShader: Fix crash when compilation error is a linking errorClément Foucault
2022-03-18Cleanup: Compilation warningsSergey Sharybin
Mainly -Wset-but-unused-variable. Makes default compilation on macOS way less noisy. Differential Revision: https://developer.blender.org/D14357
2022-03-16Cleanup: incorrect comments, use C commentsCampbell Barton
2022-03-15GPU capabilities: detect max SSBO bindingsKévin Dietrich
This adds detection of the maximum number of shader storage buffer bindings that is supported on the current platform. This can be useful to turn off features that require compute shaders but use more buffer bindings than available. Differential Revision: https://developer.blender.org/D14337
2022-03-11Cleanup: use M_PI_2 and M_PI_4 where possibleHallam Roberts
The constant M_PI_4 is added to GLSL to ensure it works there too. Differential Revision: https://developer.blender.org/D14288
2022-03-11Cleanup: fix source typos homogenous->homogeneousBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D14306
2022-03-11Cleanup: fix source comment typosBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D14307
2022-03-09Cleanup: use ELEM macroCampbell Barton
2022-03-08Merge remote-tracking branch 'origin/blender-v3.1-release'Kévin Dietrich
2022-03-08GPU: disable compute shader for problematic driversKévin Dietrich
Some drivers for legacy platforms seem to have issues with compute shaders, as revealed by T94936. This disables compute shader for the known drivers where this issue is present. It is not clear if the issue is Windows only or not, so this disable them for all operating systems. See T94936 for a list of configurations where the issue is reproducible or not. Differential Revision: https://developer.blender.org/D14264
2022-03-07Shader Nodes: add Alpha output to Object Info nodeEthan-Hall
An alpha component can be specified for an object's color. This adds an alpha socket to the object info shader node allowing for the alpha component of the object's color to be accessed in the shader editor. Differential Revision: https://developer.blender.org/D14141
2022-03-02Cleanup: use back-slash for doxygen commands, color after parametersCampbell Barton
2022-02-26Cleanup: typos in comments.Kévin Dietrich
2022-02-25GPUTexture: Add support for texture viewClément Foucault
This is an OpenGL 4.3 feature that enables creating a texture using a range of the same data as another texture.
2022-02-25GPUTexture: Use immutable storageClément Foucault
This means textures need to have the number of mipmap levels specified upfront. It does not mean the data is immutable. There is fallback code for OpenGL < 4.2. Immutable storage will enables texture views in the future.
2022-02-24GPU: Fix compilation in debug modeClément Foucault
Fixes issue introduced in rB1685b1dba44e02ce1faace4a5de6d6cd0d98ef90
2022-02-24OCIO: Fix mip length in texture creationClément Foucault
Also add an assert to avoid reproducing the error in the future.
2022-02-23Cleanup: Remove repeated word in commentsCampbell Barton
2022-02-23CMake: include missing filesCampbell Barton
Also use SRC_ prefix for source variables so cmake_consistency_check.py detects these files as being known to CMake.
2022-02-22Merge branch 'blender-v3.1-release'Jacques Lucke
2022-02-22Fix T93784: text and curve objects have no motion blurJacques Lucke
Previously, objects and geometries were mapped between frames using different hash tables in a way that is incompatible with geometry instances. That is because the geometry mapping happened without looking at the `persistent_id` of instances, which is not possible anymore. Now, there is just one mapping that identifies the same object at multiple points in time. There are also two new caches for duplicated vbos and textures used for motion blur. This data has to be duplicated, otherwise it would be freed when another time step is evaluated. This caching existed before, but is now a bit more explicit and works for geometry instances as well. Differential Revision: https://developer.blender.org/D13497
2022-02-19OCIO: Port shader creation logic to use GPUShaderCreateInfoClément Foucault
This commit should suffice to make the shader API agnostic now (given that all users of it use the GPU API). This makes the shaders not trigger a false positive error anymore since the binding slots are now garanteed by the backend and not changed at after compilation. This also bundles all uniforms into UBOs. Making them extendable without limitations of push constants. The generated uniforms from OCIO are not densely packed in the UBO to avoid complexity. Another approach would be to use GPU_uniformbuf_create_from_list but this requires converting uniforms to GPUInputs which is too complex for what it is. Reviewed by: brecht, jbakker Differential Revision: https://developer.blender.org/D14123
2022-02-19Merge branch 'blender-v3.1-release'Clément Foucault
# Conflicts: # intern/opencolorio/ocio_shader_shared.hh
2022-02-19Revert "OCIO: Port shader creation logic to use GPUShaderCreateInfo"Clément Foucault
This reverts commit 7f7c614ecddbcb66de0bff1657366970dede99be.
2022-02-19Merge branch 'blender-v3.1-release'Hans Goudey
2022-02-18GL: Fix possible shift by -1Clément Foucault
This can happen when the attribute has been optimized out by the compiler.
2022-02-18OCIO: Port shader creation logic to use GPUShaderCreateInfoClément Foucault
This commit should suffice to make the shader API agnostic now (given that all users of it use the GPU API). This makes the shaders not trigger a false positive error anymore since the binding slots are now garanteed by the backend and not changed at after compilation. This also bundles all uniforms into UBOs. Making them extendable without limitations of push constants. The generated uniforms from OCIO are not densely packed in the UBO to avoid complexity. Another approach would be to use GPU_uniformbuf_create_from_list but this requires converting uniforms to GPUInputs which is too complex for what it is. Reviewed by: brecht, jbakker Differential Revision: https://developer.blender.org/D14123
2022-02-17GPU: Remove runtime sampler texture slot assignmentClément Foucault
This avoid potential shader recompilation and is more in line with vulkan design.
2022-02-17OCIO: Port shader creation logic to use GPUShaderCreateInfoClément Foucault
This commit should suffice to make the shader API agnostic now (given that all users of it use the GPU API). This makes the shaders not trigger a false positive error anymore since the binding slots are now garanteed by the backend and not changed at after compilation. This also bundles all uniforms into UBOs. Making them extendable without limitations of push constants. The generated uniforms from OCIO are not densely packed in the UBO to avoid complexity. Another approach would be to use GPU_uniformbuf_create_from_list but this requires converting uniforms to GPUInputs which is too complex for what it is. Reviewed by: brecht, jbakker Differential Revision: https://developer.blender.org/D14123
2022-02-16GPUTexture: Add dimensions getterClément Foucault
Pretty straight forward. Returns the texture dimensions count. This is different from the size.
2022-02-15Merge branch 'blender-v3.1-release'Hans Goudey
2022-02-15GLShaderInterface: Fix undefined behavior when attributes are optimized away.Clément Foucault
Optimized out attributes returns an invalid location `-1` resulting in an undefined behavior shift.
2022-02-15Merge branch 'blender-v3.1-release'Clément Foucault