Age | Commit message (Collapse) | Author |
|
|
|
|
|
Previous commit stopped using some functions. Since I may need
them again for future performance tuning, these are just ifdef'd out
for now.
|
|
This was caused by a double lock of the DRW context mutex.
This changes the logic a bit by releasing the DRW context before rendering
with BKE_sequencer_give_ibuf and restoring it after.
Critical fix for 2.91
Reviewed By: dfelinto
Differential Revision: https://developer.blender.org/D8657
|
|
Instead of calculating exact normals for all faces, just do it
for those that potentially intersect. A big improvement for dense
meshes that only intersect in relatively few places.
|
|
This also gets rid of the macro.
|
|
The removed `UI_ThemeClearColor` made no sense in this context. It must
have been a leftover from previous refactor.
|
|
- Print shader type (fragment, vertex, geom)
- Support for Apple + intel error format.
- Handle formatting a bit more gracefully.
|
|
This was affecting Mesa drivers as well as AMD pro driver. But it
might have been noticeable on other config too.
This was introduced by rBa9f2ebb21508.
|
|
Also do not bind automatically. This is fine since the framebuffer will
update next time it's bound.
|
|
This way it is way clearer what each viewport state is. There is
no more save and reset. The scissor test is also saved per
framebuffer.
The only rule to remember is that the viewport state (size and
origin) is reset for both the viewport and scissor when a texture
is attached or detached from an attachment slot.
|
|
|
|
This is to ensure the FrameBuffer extents are always up to date.
|
|
That was an overlook from the review when we introduced it.
|
|
This should have no consequence nowadays.
Can be reverted if needed.
|
|
|
|
This is now handled by FrameBuffer wrapping.
|
|
This is to make it easier to navigate captures in renderdoc.
|
|
This is related to the Vulkan port T68990.
This is a full cleanup of the Framebuffer module and a separation
of OpenGL related functions.
There is some changes with how the default framebuffers are handled.
Now the default framebuffers are individually wrapped inside special
GLFrameBuffers. This make it easier to keep track of the currently bound
framebuffer state and have some specificity for operations on these
framebuffers.
Another change is dropping the optimisation of only configuring the
changed attachements during framebuffers update. This does not give
any benefits and add some complexity to the code. This might be brought
back if it has a performance impact on some systems.
This also adds support for naming framebuffers but it is currently not
used.
|
|
|
|
This is in preparation of the Framebuffer GL backend.
This is a just changing types and moving some code.
No logic is changed... almost... it just removes the context attach.
i.e: `gpu_context_add/remove_framebuffer()`
This is not needed for now and was even disabled in release.
This is part of T68990.
|
|
This was the last remaining.
|
|
Also add this to the "Clean Up" menu.
|
|
Use this utility function for render-shading & weight paint modes.
This adds support for edit-mode & pose-mode where all objects in the
mode are used in this case instead of the selected objects.
|
|
This is useful to run in object-mode, instead of from the property editor,
note that this still only used the current object when activated from
the property editor.
|
|
This is useful to run in object-mode, instead of from the property editor,
note that this still only used the current object when activated from
the property editor.
|
|
Support calling this function with an object argument,
useful for implementing filter functions that loop over objects.
|
|
Useful for similar situations as BKE_view_layer_array_from_bases_in_mode_params
without depending on the active objects mode.
|
|
|
|
|
|
Avoided cost of searching for coplanar clusters in many cases.
|
|
The code that found coplanar clusters was not updating a bounding box.
Also, code that was detecting non-trivial coplanar intersects was
slightly wrong, but that would not have caused any functional problems.
|
|
|
|
This was added in 1cb7267a9f9f1, however the behavior before this
would have failed on negative values already.
Also negative values here would fail in many other places.
|
|
Properties that display conditionally depending on other properties
should generally be lower down so the movement of buttons as
settings are tweaked is less intrusive.
|
|
|
|
There was a line between the NOLINTNEXTLINE marker and the function.
|
|
This reverts commit b78a439e9071f83baf296d52c0c1a458aecd2938.
This was committed by mistake, and including BLI_winstuff.h on non-windows
platforms results in an error.
|
|
This patch fixes assert on grid drawing. `for` loops are used instead
of `while` loops to make sure the number of lines is exact. The old
code draws lots of unnecessary lines offscreen. This bug is fixed as
well. See the patch for a comparison without a scissor test.
Differential Revision: https://developer.blender.org/D8745
|
|
Problem introduced in rBadd48c007428.
`UI_but_string_info_get` can change the value of the args.
|
|
|
|
Use correct text color when syntax highlighting is off but line numbers are on.
Differential Revision: https://developer.blender.org/D7337
Reviewed by Hans Goudey
|
|
Display negative zero floats as regular zero. Does not alter underlying value.
Differential Revision: https://developer.blender.org/D4795
Reviewed by Brecht Van Lommel
|
|
|
|
At first sight this code should not build at all
but due to the use of macro's that look like functions
this seemingly has no issues building.
Clang-format alerted me to this strange bit of code
by placing the `if` on it's own line for some reason.
added the missing brackets, and clang-format is happy
again.
|
|
`ssize_t` is not a standardized type (it's a posix type)
given the line in question here is calculating the size
of a memory allocation there's no logical way this
should ever be negative.
I do not know this code too well and was unsure if
`mdverts->totweight` could ever be < 0, so I protected
it with a clamp, just in case.
|
|
|
|
This is for design task T67744, Boolean Redesign.
It adds a choice of solver to the Boolean modifier and the
Intersect (Boolean) and Intersect (Knife) tools.
The 'Fast' choice is the current Bmesh boolean.
The new 'Exact' choice is a more advanced algorithm that supports
overlapping geometry and uses more robust calculations, but is
slower than the Fast choice.
The default with this commit is set to 'Exact'. We can decide before
the 2.91 release whether or not this is the right choice, but this
choice now will get us more testing and feedback on the new code.
|
|
|
|
This is needed to move direct_link_packedfile out of readfile.c for T76372.
|