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-11-17Fix T82042: Crash when rendering huge imagesJeroen Bakker
Crash is related to the definition of the GL_MAX_TEXTURE_SIZE. OpenGL does not clearly defined `GL_MAX_TEXTURE_SIZE` exactly means. Both on AMD and NVIDIA we have issues with huge textures that they don't get created even if they are smaller. (See {D9530} for research). This patch will try to create the texture in a smaller size when the texture creation failed. Final implementation by: Clément Foucault We should create a solution that doesn't need downscaling. For this specific case ARB_sparse_texture might help to create cleaner code, but you still have to commit the whole image what introduces several draw calls. Other improvement is to optimize the scaling; current implementation isn't optimized for performance. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D9524
2020-11-16Fix T82460: Color Management Curves do not update when Image/UV EditorPhilipp Oeser
is present Caused by rB4212b6528afb. 'updateGLSLCurveMapping()' compares cacheIDs and in certain scenarios, these are the same when they should not. - whenever we had multiple viewports that are colormanaged with curvemappings this worked right (cacheIDs were different) - for example, this also worked right when the ImageEditor displays a Render Result or a Compositor Viewer - but it worked wrong when the Image Editor displays any other Image (or no Image at all) - it also worked right if there were multiple Image Editors [and one of them displays a Render Result e.g] Now why is this so? For comparison, the curve mapping's pointer/address is used. - update_glsl_display_processor frees the curve_mapping, see BKE_curvemapping_free(global_glsl_state.curve_mapping) - similar, update_glsl_display_processor creates a new curvemapping, see BKE_curvemapping_copy(view_settings->curve_mapping) - now for the situation that a viewport with curvemapping and a viewport without curvemapping is present and you make changes to the curvemapping the following happens: -- curve_mapping_settings->cache_id is set once [to the memory address of curvemapping before change] -- change happens -- viewport 1 frees curvemapping -- viewport 2 duplicates using BKE_curvemapping_copy, but this one gets the same address like before the change -- this means we have different data on the same address with the same cacheID... Solution: to really make the cache ID unique we can combine the pointer with its 'changed_timestamp' [which increases on every change]. Reviewers: jbakker Maniphest Tasks: T82460 Differential Revision: https://developer.blender.org/D9559
2020-11-13Fix memory leak writing PNG when opening the file failsCampbell Barton
2020-11-11ImBuf: replace incorrect strstr use with memcmpCampbell Barton
Besides being incorrect as only the first two bytes should be tested, searching binary data using `strstr` can easily read past buffer bounds.
2020-10-22GPU: Memory leak when scaling buffersJeroen Bakker
`imb_gpu_get_data` could reuse `data_rect` when it was already in used (double alloc). making the first use leak. This was detected after enabling OpenGL Texture Limit. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D9280
2020-10-19Spelling: Loose Versus LoseHarley Acheson
Corrects incorrect usages of the word 'loose' when 'lose' was required. Differential Revision: https://developer.blender.org/D9243 Reviewed by Campbell Barton
2020-10-19Spelling: Then Versus ThanHarley Acheson
Corrects incorrect usages of the words 'then' and 'than'. Differential Revision: https://developer.blender.org/D9246 Reviewed by Campbell Barton
2020-10-19Spelling: It's Versus ItsHarley Acheson
Corrects incorrect usage of contraction for 'it is', when possessive 'its' was required. Differential Revision: https://developer.blender.org/D9250 Reviewed by Campbell Barton
2020-10-19Image: Export emissive colors in 3 channel PNG imagesJeroen Bakker
Related to T81199. When saving a rendered image with transparency (RGBA) to a 3 channel PNG image the emissive colors were not exported. This change adds the emissive colors to the written file. NOTE: this does not fix the limitation of writing emissive colors to a 4 channel PNG file as the file format does not support this.
2020-10-10Cleanup: use C comments for descriptive textCampbell Barton
Follow our code style guide by using C-comments for text descriptions.
2020-10-05Move sequencer sources from blenkernelRichard Antalik
This is first step of refactoring task T77580. Next step will be breaking up files into smaller ones. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D8492
2020-09-30Cleanup: convert gforge task ID's to phabricator formatValentin
Cleanup old tracker task format to the new. e.g: [#34039] to T34039 Ref D8718
2020-09-30Cleanup: use angle-brackets for email addressesCampbell Barton
This is already the most widely used convention. Use this so `make check_spelling_c` will ignore all email addresses.
2020-09-22Cleanup: comments, spellingCampbell Barton
2020-09-14Cleanup: use doxy sections for imbufCampbell Barton
2020-09-12Cleanup: use C style doxygen commentsCampbell Barton
2020-09-07GPU: Rename gpu_extensions to gpu_capabilitiesClément Foucault
This makes more sense as this module has more to it than just GL extensions.
2020-09-07Cleanup: update comment after Clang-Tidy bugprone-incorrect-roundings fixesSybren A. Stüvel
Remove the comment about adding `0.5`, as this is no longer done (since fb5e2f56109e). No functional changes.
2020-09-07Fix mistake in Clang-Tidy bugprone-incorrect-roundings fixSybren A. Stüvel
Remove a `+ 0.5` that I overlooked in fb5e2f56109e.
2020-09-05GPUTexture: Change texture creation APIClément Foucault
This is to modernize the API: - Add meaningful name to all textures (except DRW textures). - Remove unused err_out argument: only used for offscreen python. - Add mipmap count to creation functions for future changes. - Clarify the data usage in creation functions. This is a cleanup commit, there is no functional change. # Conflicts: # source/blender/gpu/GPU_texture.h
2020-09-05Cleanup: GPUTexture: Remove use of GPU_texture_create_nDClément Foucault
Use creation + update function instead.
2020-09-04Fix building on windows after cleanup changes in tiff.cSebastian Parborg
2020-09-04Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fixSebastian Parborg
No functional changes
2020-09-04Cleanup: Clang-Tidy bugprone-incorrect-roundings fixesSybren A. Stüvel
Should cause no noticeable difference.
2020-08-21Cleanup: rename iterators over sequences to be more clear about what they do.Bastien Montagne
No functional changes expected.
2020-08-10Remove Video Proxy Resolution limitationEitan
Height and width of video proxies was limited to multiples of 8 with comment "JPEG requires this". I could not find any resource that would confirm this to be the case with FFMPEG and MJPEG codec. I have looked in: https://ffmpeg.org/ffmpeg-all.html https://ffmpeg.org/ffmpeg-formats.html https://ffmpeg.org/doxygen/trunk/structAVCodecContext.html Reviewed By: ISS, sergey, sybren Differential Revision: https://developer.blender.org/D6507
2020-08-08Cleanup: replace sizeof division with ARRAY_SIZE macroCampbell Barton
2020-08-08Cleanup: use array syntax for sizeof with fixed valuesCampbell Barton
Also order sizeof(..) first to promote other values to size_t.
2020-08-08Clenup: use STREQ macroCampbell Barton
2020-08-08Cleanup: remove redundant return parenthesisCampbell Barton
2020-08-07Cleanup: declare arrays arrays where possibleCampbell Barton
2020-08-07Cleanup: ImBuf, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/imbuf` module. No functional changes.
2020-08-07Clang-Tidy: Address readability-redundant-string-initSergey Sharybin
2020-08-07Merge branch 'blender-v2.90-release' into masterJacques Lucke
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-04Cleanup: clang-format after recent cleanup commitDalai Felinto
Remember to run `make format` after any massive cleanup please. This "issue" introduced on 901ee66ea1cb.
2020-08-03Cleanup: remove trailing space, newlines at eofCampbell Barton
2020-08-01Cleanup: use term init instead of initialize/initialiseCampbell Barton
The abbreviation 'init' is brief, unambiguous and already used in thousands of places, also initialize is often accidentally written with British spelling.
2020-07-30Cleanup: IMB: Put lowercase prefix on static functionsClément Foucault
2020-07-30IMB: Refactor util_gpu.c to not expose enum gettersClément Foucault
This was causing compiler error on MSVC and is not a good idea in general.
2020-07-30Cleanup: Split gpu_texture_image.c into BKE and IMB modulesClément Foucault
This is in order to disolve GPU_draw.h into more meaningful code blocks. All the Image related function are in `image_gpu.c`. All the MovieClip related function are in `movieclip.c`. The IMB module now has a connection with GPU. This is not strickly necessary and the code could be move to `image_gpu.c` if needed. The Image garbage collection is also ported to `image_gpu.c`.
2020-07-28Fix T61607: OpenEXR files with less common RGB channels names not loadedBrecht Van Lommel
Previously there would have to be 3 channels R,G,B. Now also support cases where there are fewer channels or other names like Red, AR and RA are used.
2020-07-21Fix T78867: Crash related to viewing video filesSergey Sharybin
Any time FFmpeg was used to get a picture Blender would crash when FFmpeg 4.3 is used. This affects thumbnails, VSE, Clip Editor. Caused by a bug in FFmpeg which lead to crashes when unaligned buffer was passed to sws_scale(). It got fixed later on in FFmpeg, but for portability and compatibility reasons still nice to avoid crash, especially since it's not so difficult to do. FFmpeg ticked number is #8747 The FFmpeg Git hash with the fix: ba3e771a42c2 Differential Revision: https://developer.blender.org/D8355
2020-07-21Cleanup: spellingCampbell Barton
2020-07-19Cleanup: spellingCampbell Barton
2020-07-16Cleanup: undeclared function warning, unused argumentCampbell Barton
2020-07-14Cleanup: spellingCampbell Barton
2020-07-13VSE: Python API, allow creation of VSE Movie strips with missing fileSybren A. Stüvel
It was already possible to create Sound and Image strips that reference non-existing files. Now it's also possible to create Movie strips referencing missing files via the Python API call `Sequences.new_movie()`. In this case, the duration of the strip will be set to 1 frame. Note that this commit does not change anything in the user interface. The Python API of the `MovieStrip` class is extended with a function `reload_if_needed()`. This function only performs disk I/O if the movie strip cannot produce frames, that is either when its filepath points to a non-existing file, or when the video sequence editor has not been shown yet (for example because it is in an inactive workspace). This allows for the following: ``` import bpy scene = bpy.context.scene vse = scene.sequence_editor_create() filepath = bpy.path.abspath('//demo.mkv') strip = vse.sequences.new_movie("movie", filepath, channel=2, frame_start=47, file_must_exist=False) strip.frame_final_end = 327 ``` This will create a new movie strip, even when `demo.mkv` does not exist. Once `demo.mkv` has appeared at the expected location, either `strip.reload_if_needed()` or `strip.filepath = strip.filepath` will load it. Differential Revision: https://developer.blender.org/D8257 Reviewed By: Sergey, ISS
2020-07-13Clang Tidy: enable readability-non-const-parameter warningJacques Lucke
Clang Tidy reported a couple of false positives. I disabled those `NOLINTNEXTLINE`. Differential Revision: https://developer.blender.org/D8199
2020-07-09EEVEE: Implement the missing Sky textureSzymon Ulatowski
I'm not sure if the Sky was deliberately left out or was just waiting for a better moment, but so many I was disappointed that Sky in EEVEE is completely white. There are already 2 implementations (osl and gpu) so this is the third one. Looking at other cases it seems that we are not supposed to share sources between cycles and the rest? So the new util_sky_model files are just copies of what is already in cycles, except that the data file uses the RGB variant of the Hosek/Wilkie model, because we output RGB anyway (but can be easily changed to XYZ if desired - the results are nearly identical). I am not sure if it is okay to pass 3*9 float values as 3 mat4 uniforms (I wanted to use mat3 but it does not work). Also, should I cache the sky model data between renders if the parameters do not change? Reviewed By: fclem, brecht Differential Revision: https://developer.blender.org/D7108