Age | Commit message (Collapse) | Author |
|
This is just a cleanup to isolate the internals of the vertbuf.
This adds some getters to avoid refactor of existing code.
|
|
|
|
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.
|
|
Makes it follow the functions names.
|
|
COMPAT_ENGINE was missing
|
|
The poll method is not used
|
|
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.
|
|
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.
|
|
This fix a compilation warning on msvc.
|
|
|
|
|
|
Update check_spelling targets to match changes to the utility,
take an optional CHECK_SPELLING_CACHE argument.
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
The check is better than before as we take into
consideration the attached mip level.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
# Conflicts:
# source/blender/gpu/intern/gpu_framebuffer.cc
|
|
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
|
|
Use creation + update function instead.
|
|
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.
|
|
Simple cleanup. Part of the Vulkan Port T68990.
|
|
But this time implement it outside the texture module.
This makes more sense as only the volume textures need this feature.
|
|
|
|
|
|
|
|
Cleanup the feature itself:
- Check 3D textures size against the correct limit.
- Add check for compressed textures.
|
|
This just add back the support.
This commit also includes a bit of cleanup.
# Conflicts:
# source/blender/gpu/GPU_texture.h
|
|
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
|
|
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.
|
|
|
|
|
|
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.
|
|
Also use select tweak params for grabbing points
|
|
|
|
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.
|
|
These changes were accidentally copied over from the Cycles repository, remove
them again.
|
|
Caused by f04260d8c679.
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.
|
|
For the man rationale behind this design, see 49f088e2d093. 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).
|
|
We want to move away from using `uiBut.a1`/`a2`, which is a hard to
reason about design.
Part of T74432.
Also correct comment.
|
|
|
|
No functional changes.
|
|
No functional changes
|