Commit Graph

79784 Commits

Author SHA1 Message Date
Campbell Barton
0e5aa49e1d Cleanup: include missing header files in CMake 2020-09-07 23:10:17 +10:00
Campbell Barton
870fcb3857 Cleanup: change Python version checks to include newer versions 2020-09-07 22:58:16 +10:00
Campbell Barton
272c53f8f0 datatoc_icon: remove Python 2.x support
This was originally included in case the system Python was v2.x,
remove support since Python 2.x is no longer being maintained.
2020-09-07 22:55:55 +10:00
Sebastian Parborg
5ccdc6ad86 Cleanup: Fix clang-tidy warning in the new boolean code
No functional changes.
2020-09-07 14:26:10 +02:00
Clément Foucault
6b91c641e8 GPU: Fix clang tidy warnings 2020-09-07 14:03:03 +02:00
Clément Foucault
aa32e7a2f3 Cleanup: GPUVertBuf: Replace TRUST_NO_ONE by BLI_asserts and ifdef DEBUG 2020-09-07 13:59:51 +02:00
Clément Foucault
c38debd39f GPUVertBuf: GL Backend Isolation
Part of the Vulkan port T68990

This makes a few changes in how the data is being handled by the
backend to allow more flexibility in the future.

The overall code logic is left unchanged.
2020-09-07 13:59:51 +02:00
Clément Foucault
bb2aeb4504 GPUVertBuf: Rename GPUVertBuf to VertBuf and add some getters
to avoid more typecasts.
2020-09-07 13:59:51 +02:00
Campbell Barton
99e3541d3b Docs: add note on updating startup defaults to dna_defaults
Without this it's not clear which defaults these values are used for.
2020-09-07 21:02:15 +10:00
Philipp Oeser
a292106799 Fix T80531: Dope Sheet Shape Key Editor search/filter not working
Looks like this has just not been implemented before.
Use the name matching method used in other Dope Sheet UI modes.

Maniphest Tasks: T80531

Differential Revision: https://developer.blender.org/D8824
2020-09-07 12:02:11 +02:00
Sybren A. Stüvel
b351607996 Cleanup: update comment after Clang-Tidy bugprone-incorrect-roundings fixes
Remove the comment about adding `0.5`, as this is no longer done (since
fb5e2f5610).

No functional changes.
2020-09-07 10:12:12 +02:00
Sybren A. Stüvel
d122911d10 Fix mistake in Clang-Tidy bugprone-incorrect-roundings fix
Remove a `+ 0.5` that I overlooked in fb5e2f5610.
2020-09-07 10:09:02 +02:00
Jeroen Bakker
7170f7a041 EEVEE: Shaders tests
This will add the remaining static shaders to the eevee shader test suite.

- Downsampling
- GGX LUT generation
- Mist
- Motion Blur
- Ambient Occlusion
- Render Passes
- Screen Raytracing
- Shadows
- Subsurface
- Volumes

Reviewed By: Clément Foucault

Differential Revision: https://developer.blender.org/D8779
2020-09-07 08:21:41 +02:00
Campbell Barton
267b8e1a5c Cleanup: spelling
Also correct wrapped lines of example code in threads.cc.
2020-09-07 16:19:42 +10:00
Campbell Barton
379d5d7349 Cleanup: OBJECT_OT_collection_instance_add
Minor changes to match OBJECT_OT_data_instance_add.

- Access properties once & reuse them.
- Early exit when the data to instance can't be found.
2020-09-07 14:43:13 +10:00
Campbell Barton
955a4142ec Cleanup: use doxy comments in object.c 2020-09-07 14:33:24 +10:00
Campbell Barton
c350d1eb13 Cleanup: remove redundant scene argument in BKE_object_add 2020-09-07 14:09:50 +10:00
Campbell Barton
c695523687 Fix OBJECT_OT_data_instance_add creating empty data-blocks
ED_object_add_type creates empty object data, add
ED_object_add_type_with_obdata which can take existing object data.
2020-09-07 13:56:22 +10:00
Clément Foucault
d268a43b25 Cleanup: GPUVertBuf: Replace GPU_vertbuf_create by GPU_vertbuf_calloc
This is a simple cleanup to make naming consistent with the rest of the
module.
2020-09-06 22:13:06 +02:00
Clément Foucault
158cea83b5 GLTexture: Fix crash with --debug-gpu on windows + nvidia
The combination of DSA + CubeMap seems to not please this driver.
2020-09-06 22:13:06 +02:00
Clément Foucault
7ffff04e49 GPUVertBuf: Make GPUVertBuf private to the GPU module
This is just a cleanup to isolate the internals of the vertbuf.
This adds some getters to avoid refactor of existing code.
2020-09-06 22:13:06 +02:00
Clément Foucault
98fc3f263c Cleanup: GLBackend: Fix missing override keywords producing warnings 2020-09-06 22:13:06 +02:00
Clément Foucault
4ea93029c6 GPUIndexBuf: GL backend Isolation
This is part of the Vulkan backend task T68990.

There is no real change, only making some code re-organisation.
This also make the IndexBuf completely abstract from outside the
GPU module.
2020-09-06 22:13:06 +02:00
Clément Foucault
84d67bd0a9 Cleanup: GPU: Rename GPU_element to GPU_index_buffer
Makes it follow the functions names.
2020-09-06 22:13:06 +02:00
Campbell Barton
e56ff76db5 Viewport: support dropping object-data to create instances
This allows orphan object data for example (meshes, curves, etc)
to be dropped into the 3D View from the outliner,
creating a new object instance.

Previously the only way to do this was to add the same type of object
then swap it's data through the ID selector drop-down.
2020-09-06 18:42:16 +10:00
Howard Trickey
5faf72bb71 Fix T75827, boolean of non-manifold objects leaves stray edges.
Well, this only fixes the example if one uses the new Exact mode,
but since that is available, seems fair to call this fixed.
Since these were not closed-volume operands, the Exact mode needed
some adjustment to the threshold used for "inside-outside" tests
for the case of deciding if the cutter is inside the other shape
for a Difference.
2020-09-05 16:01:39 -04:00
Clément Foucault
8c4f7e6d04 GLState: Use unsigned long long instead of unsigned long for shifts
This fix a compilation warning on msvc.
2020-09-05 18:50:07 +02:00
Campbell Barton
ffec86bb62 Cleanup: clang-format 2020-09-06 02:21:27 +10:00
Campbell Barton
3a8d9198b3 Cleanup: spelling 2020-09-06 02:19:58 +10:00
Julian Eisel
69377784f5 Fix T67265: Status bar is overlapped by workspace layout
The issue was that the screen geometry calculations scaled down the
areas, but the header would become too small. So it would be upscaled
again towards the lower screen edge (where the status-bar is at). Now we
do another pass over the geometry calculations, until all areas fit into
the screen, or until some rather arbitrary maximum is reached.

This fixes the issue for common cases. Extreme cases, with many
vertically stashed editors and a too small window to show all, are still
not too well supported. Blender keeps working but the status-bar is
still overlapped. We could deal with this better but what's there now
should be good enough.
2020-09-05 18:16:50 +02:00
Julian Eisel
7d8a252c17 Cleanup: Add const to BKE screen function 2020-09-05 18:16:50 +02:00
Clément Foucault
581c35bea8 GLState: Fix compilation warning on MSVC 2020-09-05 18:16:13 +02:00
Clément Foucault
03b36abbe6 GLTexture: Fix undefined behavior when binding textures the first time 2020-09-05 18:13:33 +02:00
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
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
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