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-08-05GPUTexture: Fix missing breakClément Foucault
2020-08-05GPUTexture: Check PROXY textures for cubemap typesClément Foucault
It can happen than some textures are not supported on some implementation even if they fix the `GPU_max_texture_size` and `GPU_max_texture_layers`.
2020-08-05GPUTexture: Improve debug printClément Foucault
2020-07-31Fix T79397: blurry icons at some UI scales, after recent refactorBrecht Van Lommel
Solution found by Yevgeny Makarov.
2020-07-18Cleanup: GPU: Set default GL_UNPACK_ALIGNMENT to 1Clément Foucault
Ogl default is 4 but for almost all cases, blender use tightly packed format. This avoid confusion and state change for the common case. The only case that __might__ need alignement is DDS loader (untested) so leaving this as it is.
2020-07-18GPUTexture: Add better swizzle supportClément Foucault
2020-07-18Cleanup: GPU: Make icon drawing use GPUTextureClément Foucault
This remove all gl function calls. Adds a new sampler only for icon drawing.
2020-07-01GPU: Apple/Nvidia Proxy checkStefan Werner
Apple's Nvidia driverPROXY check also fails. Now the configuration Apple/Nvidia will also bypass the Proxy test. Maniphest Tasks: T78175 Differential Revision: https://developer.blender.org/D8160
2020-06-28Fix T77549 GPUTexture: Crash caused by NULL parameter to glBindTextures...Clément Foucault
... or glBindSamplers.
2020-06-08Fix T76273 Glitches caused by glCopyImageSubData on windows + intel gpuClément Foucault
We limit this fix to Windows Intel GPU whose driver reports at most GL 4.4 support. This limits the fix to the range of reported GPU.
2020-06-04GPUTexture: Make GPU_texture_unbind_all faster on newer opengl versionClément Foucault
2020-06-03DRW: Always unbind texture after drawingClément Foucault
This fix issues with the image editor
2020-06-03GPUTexture: Fix samplers configuration typoClément Foucault
2020-06-03GPUTexture: Add support for binding textures with custom sampler statesClément Foucault
2020-06-03DRW: Remove automatic bind locations and use hardcoded locations for texturesClément Foucault
This cleanup use the recent changes in shader interface to allow querying the binding location a texture should use. This should aleviate all issue we have with texture state change recompiling the shaders at drawtime. All binds are now treated like persistent binds and will stick until a new shading group bind a different shader. The only difference is that you can still change it with a new subgroup or same shader shgroup. Since unbinding can be heavy we only do it when using `--debug-gpu`.
2020-06-03GPU: Texture: Remove multibind trackingClément Foucault
This is more of a limitation than it is a solution.
2020-06-02GPU: Texture: Replace internal sampler state by explicit state objectClément Foucault
This makes it easier to track as well as allowing us to sample the same texture with different sampling parameters (which should fix the related T73942 in the long run). Reviewed By: brecht Differential Revision: https://developer.blender.org/D7831
2020-05-28Cleanup: GPU: Fix warningClément Foucault
2020-05-28GPU: Fix compilation warning about uninitialized valuesClément Foucault
2020-05-25GPUTexture: Make GPU_texture_clear workaround fast.Clément Foucault
This way we have a convenient way to clear individual textures.
2020-05-07Fix T76510: Eevee OpenVDB render artifacts due to texture clampingBrecht Van Lommel
2020-04-26GPU: Add better support for texture copy fallbackClément Foucault
Depth texture copy using glCopyTexSubImage2D is undefined behavior since you cannot bind GL_DEPTH_ATTACHMENT to glReadBuffer. Using glBlitFramebuffer as a fallback.
2020-04-22GPU: Add GPU_texture_copyClément Foucault
This allow to copy entire texture in a faster way than using framebuffer blitting. This uses ARB_copy_image extension if available and fallback to glCopyTexSubImage2D for older gl version. Both method should be as fast if not faster than the framebuffer blitting.
2020-04-17GPU: Fix typo making RG16F use 16 bytes instead of 4Clément Foucault
2020-04-17GPU: Fix missing SRGB8_ALPHA8 debug stringClément Foucault
2020-03-24Cleanup: Silence warningsGermano Cavalcante
``` ...\gpu_texture.c(466,7): warning C4555: result of expression not used ...\gpu_texture.c(559,7): warning C4555: result of expression not used ...\gpu_texture.c:1205:72: warning: pointer targets in passing argument 4 of ‘glGetTexLevelParameteriv’ differ in signedness [-Wpointer-sign] ```
2020-03-24GPU: Estimate a better value for the memory usedGermano Cavalcante
This commit adds a `mipmaps` member to the `GPUTexture` struct and also computes to the memory used by these mipmaps and the memory used for textures that are created from an external bindcode. So it solves the following inconsistencies: - The memory value for mipmaps was not being computed. - As `GPU_texture_from_bindcode` didn't call `gpu_texture_memory_footprint_add`, it brought inconsistencies to the value of the used memory, especially when the texture is freed. Differential Revision: https://developer.blender.org/D3554
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-11EEVEE: Replace octahedron reflection probe by cubemap arrayClément Foucault
We implement cubemap array support for EEVEE's lightcache reflection probes. This removes stretched texels and bottom hemisphere seams artifacts caused by the octahedral projection previously used. This introduce versioning code for the lightcache which will discard any lightcache version that is not compatible. Differential Revision: https://developer.blender.org/D7066
2020-03-11Smoke: put density/color in separate textures, fixes for workbench shaderBrecht Van Lommel
This is more in line with standard grids and means we don't have to make many special exceptions in the upcoming change for arbitrary number of volume grids support in Eevee. The workbench shader was also changed to fix bugs where squared density was used, and the smoke color would affect the density so that black smoke would be invisible. This can change the look of smoke in workbench significantly. When using the color grid when smoke has a constant color, the color grid will no longer be premultiplied by the density. If the color is constant we want to be able not to store a grid at all. This breaks one test for Cycles and Eevee, but the setup in that test using a color without density does not make sense. It suffers from artifacts since the unpremultiplied color grid by itself will not have smooth boundaries. Differential Revision: https://developer.blender.org/D6951
2020-02-15GPU: Add GPU support to fill a texture image with a constant valuemano-wii
This solution is optimized for GL version 4.4 or greater.
2020-02-11DRW: Color Management improvementClément Foucault
Reviewed By: brecht sergey jbakker Differential Revision: http://developer.blender.org/D6729
2020-01-16Merge branch 'blender-v2.82-release'Lukas Stockner
2020-01-16Fix T73133: UDIM texture count in Eevee is limited by OpenGLLukas Stockner
Based on @fclem's suggestion in D6421, this commit implements support for storing all tiles of a UDIM texture in a single 2D array texture on the GPU. Previously, Eevee was binding one OpenGL texture per tile, quickly running into hardware limits with nontrivial UDIM texture sets. Workbench meanwhile had no UDIM support at all, as reusing the per-tile approach would require splitting the mesh by tile as well as texture. With this commit, both Workbench as well as Eevee now support huge numbers of tiles, with the eventual limits being GPU memory and ultimately GL_MAX_ARRAY_TEXTURE_LAYERS, which tends to be in the 1000s on modern GPUs. Initially my plan was to have one array texture per unique size, but managing the different textures and keeping everything consistent ended up being way too complex. Therefore, we now use a simpler version that allocates a texture that is large enough to fit the largest tile and then packs all tiles into as many layers as necessary. As a result, each UDIM texture only binds two textures (one for the actual images, one for metadata) regardless of how many tiles are used. Note that this rolls back per-tile GPUTextures, meaning that we again have per-Image GPUTextures like we did before the original UDIM commit, but now with four instead of two types. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6456
2020-01-13Cleanup: remove unused GPU_texture_from_preview functionCampbell Barton
2019-10-04GPU: Platform Support LevelJeroen Bakker
Adds a check when starting blender if your platform is supported. We use a blacklist as drivers are updated more regular then blender (stable releases). The mechanism detects if the support level changed or has been validated by the user previously. Changes can happen due to users updating their drivers, but also when we change the support level in our code base. When the user has seen the limited support level message it is saved in the user config. It would be better to have a system specific config section, but currently not clear what could benefit from that. When the platform is unsupported or has limited support a dialog box will appear including a link to our user manual describing what to do. **Windows** Windows uses the MessageBox that is provided by the windows kernel. **X11** We use a very lowlevel messagebox for X11. It is very limited in use and can be fine tuned when needed. **SDL/APPLE** There is no implementation for SDL or APPLE at this moment as the platform support feature targets mostly Windows users. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5955
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-08-17Cleanup: spellingCampbell Barton
2019-07-09Cleanup: GPU: Correct commentClément Foucault
2019-07-09GPU: ATI Proxy checkJeroen Bakker
The AMD PRO driver on linux PROXY check also fails. Now the configuration ATI/Unix/Official driver will also bypass the Proxy test. Reviewed By: fclem Differential Revision: https://developer.blender.org/D5205
2019-07-09Fix T66573 Heap Corruption when baking to irradiance volume probeClément Foucault
This is an AMD Proprietary driver bug. Will be reported upstream.
2019-06-26Revert "GPU: Create and use new GPU_texture_read_rect utility."mano-wii
This reverts commit e061cb44378efaf159a30fb1c5834db48ffb2bb3. This function is problematic on some operating systems. # Conflicts: # source/blender/draw/intern/draw_manager.c # source/blender/gpu/GPU_texture.h # source/blender/gpu/intern/gpu_texture.c
2019-06-24Fix T65812: Image empty has wrong aspect with limit texture sizeCampbell Barton
2019-05-13Cycles/Eevee: unified and improved texture image color space handlingBrecht Van Lommel
Cycles now uses the color space on the image datablock, and uses OpenColorIO to convert to scene linear as needed. Byte images do not take extra memory, they are compressed in scene linear + sRGB transfer function which in common cases is a no-op. Eevee and workbench were changed to work similar. Float images are stored as scene linear. Byte images are compressed as scene linear + sRGB and stored in a GL_SRGB8_ALPHA8 texture. From the GLSL shader side this means they are read as scene linear, simplifying the code and taking advantage of hardware support. Further, OpenGL image textures are now all stored with premultiplied alpha. Eevee texture sampling looks a little different now because interpolation happens premultiplied and in scene linear space. Overlays and grease pencil work in sRGB space so those now have an extra conversion to sRGB after reading from image textures. This is not particularly elegant but as long as engines use different conventions, one or the other needs to do conversion. This change breaks compatibility for cases where multiple image texture nodes were using the same image with different color space node settings. However it gives more predictable behavior for baking and texture painting if save, load and image editing operations have a single color space to handle. Differential Revision: https://developer.blender.org/D4807
2019-05-05Cleanup: fallthrough attribute warningCampbell Barton
Fall-through without label or default after it.
2019-05-01ClangFormat: run with ReflowComments on source/Campbell Barton
Prepare for enabling ReflowComments.
2019-04-22Cleanup: style, use braces for gpuCampbell Barton
2019-04-21Cleanup: comments (long lines) in gpuCampbell 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-04-05GPU not able to allocate textureJeroen Bakker
In the case of the report a GL_PROXY_TEXTURE_2D_ARRAY of 2509x2509x1 failed to be allocated. This is a work around as the GL_PROXY_TEXTURE_* is not reliable. Reviewed By: brecht, fclem Maniphest Tasks: T63223 Differential Revision: https://developer.blender.org/D4651