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-09-27GHOST: exit with an error when GHOST cannot be initializedCampbell Barton
When the GHOST back-end Blender was built with isn't supported, Blender would crash on startup without any useful information. This could happen when building X11 only, then running on Wayland. Now show a list of the GHOST back-ends that were attempted and exit with an error code instead of crashing.
2022-09-25Cleanup: use 'u' prefixed integer types for brevity & cast styleCampbell Barton
To use function style cast '(unsigned char)x' can't be replaced by 'unsigned char(x)'.
2022-09-24BLF: Refactor of DPIHarley Acheson
Correction of U.dpi to hold actual monitor DPI. Simplify font sizing by omitting DPI as API argument, always using 72 internally. See D15961 for more details. Differential Revision: https://developer.blender.org/D15961 Reviewed by Campbell Barton
2022-09-22Metal: MTLContext implementation and immediate mode rendering support.Thomas Dinges
MTLContext provides functionality for command encoding, binding management and graphics device management. MTLImmediate provides simple draw enablement with dynamically encoded data. These draws utilise temporary scratch buffer memory to provide minimal bandwidth overhead during workload submission. This patch also contains empty placeholders for MTLBatch and MTLDrawList to enable testing of first pixels on-screen without failure. The Metal API also requires access to the GHOST_Context to ensure the same pre-initialized Metal GPU device is used by the viewport. Given the explicit nature of Metal, explicit control is also needed over presentation, to ensure correct work scheduling and rendering pipeline state. Authored by Apple: Michael Parkin-White Ref T96261 (The diff is based on 043f59cb3b5835ba1a0bbf6f1cbad080b527f7f6) Reviewed By: fclem Differential Revision: https://developer.blender.org/D15953
2022-09-16Cleanup: spelling in commentsCampbell Barton
2022-09-05GPU: convert 'GPU_SHADER_2D_IMAGE_COLOR' to 3DGermano Cavalcante
3D shaders work in both 2D and 3D viewports. This shader is a good candidate to be exposed in Python.
2022-09-05GPU: remove 'GPU_SHADER_2D_UNIFORM_COLOR'Germano Cavalcante
The only real difference between `GPU_SHADER_2D_UNIFORM_COLOR` and `GPU_SHADER_3D_UNIFORM_COLOR` is that in the vertex shader the 2D version uses `vec4(pos, 0.0, 1.0)` and the 3D version uses `vec4(pos, 1.0)`. But VBOs with 2D attributes work perfectly in shaders that use 3D attributes. Components not specified are filled with components from `vec4(0.0, 0.0, 0.0, 1.0)`. So there is no real benefit to having two different shader versions. This will simplify porting shaders to python as it will not be necessary to use a 3D and a 2D version of the shaders. In python the new name for '2D_UNIFORM_COLOR'' and '3D_UNIFORM_COLOR' is 'UNIFORM_COLOR', but the old names still work for backward compatibility. Differential Revision: https://developer.blender.org/D15836
2022-08-11Fix T100130: animation player crash on exitBrecht Van Lommel
GPU_exit is now expected to run within an active GPU context. Also run BLF_exit and IMB_exit first they can use GPU resources and gave ASAN errors. And remove redundant GPU_shader_free_builtin_shaders already handled by GPU_exit.
2022-06-30GHOST: get/set cursor position now uses client instead of screen coordsCampbell Barton
Use client (window) relative coordinates for cursor position access, this only moves the conversion from window-manager into GHOST, (no functional changes). This is needed for fix a bug in GHOST/Wayland which doesn't support accessing absolute cursor coordinates & the window is needed to properly access the cursor coordinates. As it happens every caller to GHOST_GetCursorPosition was already making the values window-relative, so there is little benefit in attempting to workaround the problem on the Wayland side. If needed the screen-space versions of functions can be exposed again.
2022-06-23Fix T99083: audio bad in command-line video player (blender -a)Jörg Müller
There was a wrong sample size computation in PulseAudioDevice. The sample format is switched to float32 for the command-line player.
2022-06-17BLF: Fallback Font StackHarley Acheson
Allow use of multiple fonts acting together like a fallback stack, where if a glyph is not found in one it can be retrieved from another. See D12622 for much more detail Differential Revision: https://developer.blender.org/D12622 Reviewed by Brecht Van Lommel
2022-06-17Cleanup: use booleans for GHOST C-APICampbell Barton
Also use GHOST_ prefix for public functions.
2022-06-10GHOST: add back-trace handler to the APICampbell Barton
Add a back-trace handler to GHOST, so error handlers can include a back-trace (when supported). No functional changes.
2022-06-07Cleanup: spelling in comments, additional white spaceCampbell Barton
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-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2021-11-13BLF: Use Floats for Font Point SizesHarley Acheson
Allow the use of floating-point values for font point sizes, which allows greater precision and flexibility for text output. See D8960 for more information, details, and justification. Differential Revision: https://developer.blender.org/D8960 Reviewed by Campbell Barton
2021-11-01Localize image mutex lock into runtime field of Image datablockSergey Sharybin
Allows to avoid a global lock being held while reading files from disk, solving performance issues when Cycles needs to read a lot of packed images. Simple test file F11597666 Differential Revision: https://developer.blender.org/D13032
2021-07-05Replace Ghost integrals with stdint fixed width integers.Nicholas Rishel
Also replace integer with bool in Ghost API when only used as boolean, and uint8* with char* in Ghost API when variable is a string. Reviewed By: brecht Differential Revision: https://developer.blender.org/D11617 Signed-off-by: Nicholas Rishel <rishel.nick@gmail.com>
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-05-12Merge branch 'blender-v2.93-release'Richard Antalik
2021-05-12Fix T88194: Animation player displays washed out colorsRichard Antalik
Byte images used `ibuf->float_colorspace` as source colorspace. This was oversight - `ibuf->rect_colorspace` should be used as source colorspace. Reviewed By: sergey Differential Revision: https://developer.blender.org/D11223
2021-05-10Cleanup: correct/clarify PlayAnim commentsCampbell Barton
2021-05-08Cleanup: correct PlayState.stopped state which was invertedCampbell Barton
2021-05-08Cleanup: remove unused turbo struct member from PlayAnimCampbell Barton
This was never used (since 2.25 at least).
2021-05-08Cleanup: comment PlayAnim struct membersCampbell Barton
2021-05-08Fix PlayAnim cache size increasing when playing multiple animationsCampbell Barton
Error in 0499dbc5c16fe6b276da81d65cade4f5da92a308
2021-05-08Fix PlayAnim X/Y flippingCampbell Barton
This functionality was missed in recent GLSL drawing update fd3e44492e7606a741a6d2c42b31687598c7d09a.
2021-05-07Fix PlayAnim issue with images gradually loading into cacheCampbell Barton
Instead of only drawing images on first start, load them into cache. This resolves a logical problem when images don't load fast enough, where the animation would load some frames each time until all images loaded into cache. In practice this could play back with severe frame skipping many times times before all images were loaded making playback smooth. Part of a fix for T81751.
2021-05-07Cleanup: move frame caching into functionsCampbell Barton
2021-05-07Cleanup: extract image loading into it's own functionCampbell Barton
2021-05-07Fix use of imbuf that was never valid in animation playerCampbell Barton
Resizing the window would always draw the image with an empty imbuf.
2021-05-07Cleanup: minor changes from master to avoid merge conflictsCampbell Barton
2021-05-07Fix T81751: Use GLSL for better anim player performanceRichard Antalik
Originally colorspace of float images was converted using CPU. GLSL will render images much faster. Originally image was converted to `global_role_default_byte` space, disregarding view transform and also display device, which now is possible to specify. These parameters could be set via commandline to settings used in Blender, however if they are to be set by users, these needs to be sanitized. Right now defaults are assumed for device given for `COLOR_ROLE_DEFAULT_BYTE`. This should produce same behavior as implemented before. Together with D11167 animation player performance should be much better. This code was mostly copy-pasted from sequencer. Reviewed By: sergey Differential Revision: https://developer.blender.org/D11178
2021-05-06PlayAnim: support limiting the cache by memory instead of framesCampbell Barton
Partial fix for T81751 which exposes multiple playback performance issues. Previously the cache was limited to 30 frames, without a way to increase the cache for smooth playback with files that are slow to load. Now the animation plays back smoothly once loaded into cache. The cache limit from the system preference is used when the player is launched from Blender. A new player argument `-c <cache_limit>` was added to support this.
2021-05-05Fix PlayAnim error applying cache limiterCampbell Barton
Each frame display would add an item to the cache limiting list without checking if it was already in the list. Limiting would then free image buffers when the length of the list exceeded USE_FRAME_CACHE_LIMIT (currently 30). In practice this meant short animations would free and reload frames during playback.
2021-05-05PlayAnim: add in missing define checkCampbell Barton
2021-03-17Bugfix: properly rename Null audio device to NoneJörg Müller
2021-03-17Audaspace: porting minor improvements from upstreamJörg Müller
- NullDevice is now called None - Automatic choice of best available device. - Minor formatting, documentation and cmake fixes.
2021-02-14Cleanup: spellingCampbell Barton
2021-02-10UI: Removal of GHOST_CreateDialogWindowHarley Acheson
Simplification of window creation code to allow greater flexibility. Differential Revision: https://developer.blender.org/D10311 Reviewed by Brecht Van Lommel
2020-11-13Cleanup: use IMB_FTYPE_NONE instead of 0 for imbuf format comparisonCampbell Barton
Image format code checked the file type against an enum except for zero which is used when the format can't be detected. Also add doc-strings to some of the image file type callbacks.
2020-10-28UI: Misc Label and Description ChangesYevgeny Makarov
Various changes to some labels and descriptions to be more accurate, clear, or less confusing. Differential Revision: https://developer.blender.org/D8394 Reviewed by Hans Goudey
2020-10-18Cleanup: More miscellaneous code quality changes in wm directoryHans Goudey
- Declare variables where initialized. - Use LISTBASE_FOREACH macro. - Reduce variable scope. - Return early or reduce indentation in some cases.
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-08-23Cleanup: GPU: Use explicit clear value in GPU_clear* commandsClément Foucault
This replace `GPU_clear()` by `GPU_clear_color()` and `GPU_clear_depth()`. Since we always set the clear value before clearing, it is unecessary to track the clear color state. Moreover, it makes it clearer what we clear the framebuffer to.
2020-08-18Cleanup: GPUState: remove double GPU_blend callsClément Foucault
2020-08-18GPUState: GPU_blend final API renamingClément Foucault
We now use GPU_blend for enabling / disabling blending and explicitly set the blend equation.
2020-08-18Cleanup: GPUState: Replace blend func separate by enumClément Foucault
2020-08-08GPU: Move ghost default framebuffer getter to context creationClément Foucault