Commit Graph

99655 Commits

Author SHA1 Message Date
Clément Foucault
9764d3e4dc GLDebug: Trim NVidia debug output
These buffer detailed infos are not needed unless going deep into
perf. profiling, in which case you can still disable this compile option.

This makes user report log much more readable.
2020-09-05 17:49:14 +02:00
Clément Foucault
71872e3809 GLTexture: Add Feedback loop check
The check is better than before as we take into
consideration the attached mip level.
2020-09-05 17:49:14 +02:00
Clément Foucault
14926a81b6 Cleanup: GPUFramebuffer: Remove unused variable 2020-09-05 17:49:14 +02:00
Clément Foucault
64490bdedb GLTexture: Add direct state access support 2020-09-05 17:49:14 +02:00
Clément Foucault
558e1158e7 GLState: Add texture multibind and remove redundant binds 2020-09-05 17:49:14 +02:00
Clément Foucault
6560a1c35e Math Utils: Add bitscan 64bit version 2020-09-05 17:49:14 +02:00
Clément Foucault
44b3985a18 GPUTexture: OCIO: Workaround new missing bind error checking
We cannot change the texture bind point since the interface count
4/5 textures to bind. Changing the uniform to avoid one bind
make the system thinks one texture is missing.

Avoid this by creating a dummy texture and binding it to the empty
slot.
2020-09-05 17:49:14 +02:00
Clément Foucault
65a593f6ef GPUDebug: Only enable resource checking in debug mode 2020-09-05 17:49:14 +02:00
Clément Foucault
8e4c0efbe3 Cleanup: GPUTexture: Move debug messages outside of creation function
# Conflicts:
#	source/blender/gpu/intern/gpu_framebuffer.cc
2020-09-05 17:49:14 +02:00
Clément Foucault
ab95cdaba9 GPUTexture: Change texture creation API
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-05 17:49:14 +02:00
Clément Foucault
bac4606937 Cleanup: GPUTexture: Remove use of GPU_texture_create_nD
Use creation + update function instead.
2020-09-05 17:49:14 +02:00
Clément Foucault
7d4adbdfab GLTexture: Add validation for empty slots before drawing
This is to have better error detection in debug builds.
This is not a replacement for a full check like in renderdoc but it
might catch some issues early on.
2020-09-05 17:49:14 +02:00
Clément Foucault
541de201fe OCIO: Use GPUTexture instead of OpenGL calls and remove gl dependency
Simple cleanup. Part of the Vulkan Port T68990.
2020-09-05 17:49:14 +02:00
Clément Foucault
cc0410193d GPUTexture: Implement back 3D texture resize
But this time implement it outside the texture module.
This makes more sense as only the volume textures need this feature.
2020-09-05 17:49:14 +02:00
Clément Foucault
78dcd92edb BLI: Math: Add equals_v3v3_int 2020-09-05 17:49:14 +02:00
Clément Foucault
895ec05212 Cleanup: GPUTexture: Clean framebuffer attachment 2020-09-05 17:49:14 +02:00
Clément Foucault
13305fb513 Cleanup: GPUFrameBuffer: Use Texture class instead of gl calls 2020-09-05 17:49:14 +02:00
Clément Foucault
b100b77fda GLTexture: Add back texture proxy check
Cleanup the feature itself:
- Check 3D textures size against the correct limit.
- Add check for compressed textures.
2020-09-05 17:49:14 +02:00
Clément Foucault
31c77a14af GPUTexture: Add support for samplers
This just add back the support.
This commit also includes a bit of cleanup.

# Conflicts:
#	source/blender/gpu/GPU_texture.h
2020-09-05 17:49:14 +02:00
Clément Foucault
c766d9b9dc GPUTexture: GL Backend Isolation
This is a massive cleanup needed for vulkan support T68990. It provides:

- More meaningful enums with conversion functions.
- Less hacky supports of arrays and cubemaps (all considered layered).
- More inline with the stateless design of vulkan and modern GL.
- Methods Fallbacks are using framebuffer functions that are wrapped
  instead of implementing inside the texture module.

What is not in there:
- API change.
- Samplers support (breaks a few effects).

# Conflicts:
#	source/blender/gpu/GPU_texture.h
2020-09-05 17:49:14 +02:00
Clément Foucault
db21c12abe GPUFramebuffer: Encapsulate single attachement clear
This is in preparation of using it to clear single texture.

Also includes minor cleanups about not using tex target in
assert and adding enum operators.
2020-09-05 17:49:14 +02:00
Clément Foucault
22a84a673a Cleanup: EEVEE: Use correct array size and use equals_v2v2_int 2020-09-05 17:49:14 +02:00
Clément Foucault
a92d77acf7 GPUTexture: Add skeleton of the new GLTexture class 2020-09-05 17:49:14 +02:00
Clément Foucault
f72c1c4547 GPUTexture: Remove bind to edit calls
This is going to be unecessary after the GPU opengl texture backend refactor.

For now add a save/restore mechanism to leave the state untouched.

Also remove some calls where the caller would bind to particular binding
point and set the shader uniform.
2020-09-05 17:49:14 +02:00
Aaron Carlisle
c598e939ad UI: Masking: Add more transform operators to menu
Also use select tweak params for grabbing points
2020-09-04 22:19:34 -04:00
Aaron Carlisle
4155d77026 UI: Masking: Reorginize mask menu to be more conistent 2020-09-04 22:19:33 -04:00
Howard Trickey
da6e6e0432 New boolean: Fix second example in T79404.
The code to detect non-trivial coplanar intersection sometimes
falsely said there wasn't one. This caused some coplanar intersections
to be missed. Also added a test for this case.
2020-09-04 20:59:36 -04:00
Brecht Van Lommel
cf0ba59e31 Fix Cycles redefining some Blender macros
These changes were accidentally copied over from the Cycles repository, remove
them again.
2020-09-04 23:32:23 +02:00
Julian Eisel
e73c60f1bd Fix Cycles unsetting most GCC and Clang C++ flags
Caused by f04260d8c6.
Cycles' CMake defines macros with the same name as Blender, which
override the Blender ones. There's however a small difference in the
re-defined `remove_cc_flag()`, the Cycles version only takes one flag at
a time. So I guess Blender's calls to it would only result in the first
flag being removed.
Of course Cycles shouldn't override any Blender macros, but I'll leave
that up to Brecht to fix properly.
2020-09-04 21:57:32 +02:00
Julian Eisel
e6f0b60c2e UI Code Quality: Use derived struct for number buttons
For the man rationale behind this design, see 49f088e2d0. Further,
this removes users of uiBut.a1/uiBut.a2, which is a very ugly design
choice (hard to reason about).

Note that I had to do rather ugly, specific exceptions for the number
buttons in `ui_def_but_rna()`. But once all users of a1/a2 are removed,
this special handling shouldn't be needed anymore.
I also had to move a sanity check out of the button definition. It's now
moved into a new debug only sanity checking function executed when
finishing the layout definition (block end).
2020-09-04 21:26:31 +02:00
Julian Eisel
47881791be UI Code Quality: Store curve-button gradient type in derived struct
We want to move away from using `uiBut.a1`/`a2`, which is a hard to
reason about design.

Part of T74432.

Also correct comment.
2020-09-04 21:26:30 +02:00
Sebastian Parborg
120f4507f6 Fix building on windows after cleanup changes in tiff.c 2020-09-04 21:24:06 +02:00
Sebastian Parborg
0b3ef67b79 Cleanup: Remove redundant redeclaration in collada
No functional changes.
2020-09-04 21:18:37 +02:00
Sebastian Parborg
2115232a16 Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix
No functional changes
2020-09-04 21:04:16 +02:00
Germano Cavalcante
e43d482cc9 Fix T80426: Crash when deleting custom orientation
Indices referencing other orientations were not being updated,
2020-09-04 15:01:04 -03:00
Brecht Van Lommel
1767a7c986 Fix build error on macOS after recent changes 2020-09-04 19:35:05 +02:00
Brecht Van Lommel
e58ec74046 Cleanup: fix compiler warnings for MSVC 2020-09-04 17:10:50 +02:00
Brecht Van Lommel
f04260d8c6 CMake: refresh building and external library handling of Cycles standalone
* Support precompiled libraries on Linux
* Add license headers
* Refactoring to deduplicate code

Includes work by Ray Molenkamp and Grische for precompiled libraries.

Ref D8769
2020-09-04 17:10:50 +02:00
Hans Goudey
417695e4a8 Curve Profile: Miscellaneous cleanup
- Declare variables where they are initialized
- Use consistent variable and static function names
- Use helper functions more for common operations
- Remove use of BezTriple struct, use CurveProfilePoint instead
- Apply small simplifications to code in some situations
2020-09-04 10:56:56 -05:00
Sybren A. Stüvel
ce67a9d39f Cleanup: Clang-Tidy bugprone-copy-constructor-init fix
No expected functional changes.
2020-09-04 17:17:57 +02:00
Pablo Dobarro
587f75f009 Cleanup: Use function pointers in sculpt gestures
This replaces the switch case and operation types with a
SculptGestureOperation struct with callbacks.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8798
2020-09-04 16:42:05 +02:00
Pablo Dobarro
985cc48fca Cleanup: Use function pointers in geometry extract
This replaces the switch case with function pointers to
extract masks or face sets.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8796
2020-09-04 16:41:05 +02:00
Sybren A. Stüvel
3215651f47 Cleanup: Clang-Tidy, describe current status of rules
No functional changes.
2020-09-04 16:29:18 +02:00
Sybren A. Stüvel
fb5e2f5610 Cleanup: Clang-Tidy bugprone-incorrect-roundings fixes
Should cause no noticeable difference.
2020-09-04 16:23:08 +02:00
Antonio Vazquez
ee49ce482a GPencil: Change Interpolate shortcut to Ctrl+E
Before the shortcut was Ctrl+Alt+E, but it's more logic remove the Alt.

Reviewed by: @mendio, @pepeland
2020-09-04 16:11:17 +02:00
Antonio Vazquez
97871e16ff GPencil: New option to set steps in Interpolate Sequence
Sometimes interpolate all frames is not convenient and it's better, for example, interpolate in twos.

The new parameter allows to define the number of frame for each step, by default is set to 1 as before.

{F8812621}

This is a request of animators to improve interpolate tools.

Reviewed By: mendio

Maniphest Tasks: T80190

Differential Revision: https://developer.blender.org/D8723
239b0b
2020-09-04 15:36:02 +02:00
Sybren A. Stüvel
767916eefc Cleanup: more Clang-Tidy readability-const-return-type fixes
Building with `WITH_GMP=ON` revealed more const-return-type issues.

No functional changes.
2020-09-04 14:53:53 +02:00
Sybren A. Stüvel
9f5c30797d Cleanup: typo fix in a comment
No functional changes.
2020-09-04 14:13:34 +02:00
Sybren A. Stüvel
570811f0ef Cleanup: Enable Clang-Tidy readability-qualified-auto rule
No functional changes. No changes except enabling the rule, even.
2020-09-04 13:39:32 +02:00
Sybren A. Stüvel
e72a520a4c Cleanup: Clang-Tidy readability-redundant-declaration fix
No functional changes.
2020-09-04 13:31:10 +02:00