| Age | Commit message (Collapse) | Author |
|
Could result in use of freed memory and consequently random crashes, e.g. on
screen resize.
(cherry picked from commit 21c91b410a2a2cbf8eb677e59e3322f86320f2b0)
Conflicts:
src/gallium/state_trackers/xorg/xorg_tracker.h
|
|
|
|
|
|
|
|
add_dispatch (driver) and maybe get_proc_address (client) may be called before
set_dispatch is called, which results in generate_entrypoint using an unreloced
function template.
|
|
- a function cannot be both static and extension, right ?
- we should be setting the offset only if not already set, right ?
|
|
|
|
|
|
|
|
|
|
- static vs. extension
- indent
- s/new_offset/static_offset/
- ...
|
|
|
|
make similar to functions for extensions table
|
|
|
|
|
|
drivers need to handle NULL cso vertex elements (and others) objects.
It is possible the cso code saves/restores NULL objects (if no normal
cso object was bound before this was invoked).
This led to segfaults (for example demos/cubemap) for apps which were using
things like creating mipmaps before drawing anything.
|
|
Enables casting of texture data.
|
|
bind_vertex_elements_state may be called with NULL velems. Do nothing
if that is the case.
|
|
Conflicts:
src/gallium/auxiliary/Makefile
src/gallium/auxiliary/SConscript
src/gallium/auxiliary/tgsi/tgsi_exec.c
src/gallium/auxiliary/util/u_blitter.c
src/gallium/drivers/i915/i915_context.h
src/gallium/drivers/i965/brw_context.h
src/gallium/drivers/llvmpipe/lp_context.h
src/gallium/drivers/nv50/nv50_context.h
src/gallium/drivers/nv50/nv50_state_validate.c
src/gallium/drivers/nv50/nv50_tex.c
src/gallium/drivers/r300/r300_blit.c
src/gallium/drivers/r300/r300_context.h
src/gallium/drivers/r300/r300_emit.c
src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/softpipe/sp_context.h
src/gallium/drivers/svga/svga_context.h
src/gallium/drivers/svga/svga_pipe_sampler.c
|
|
update_buffer should be called with context-private, not
winsys-drawable-handle.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This was a good idea, but ended up tying the build systems in knots.
We can revisit this later, in particular if we can put in place dummy
implementations of cell_create_screen(), llvmpipe_create_screen()
which just return NULL if the driver isn't available.
In the meantime, just duplicate this smallish function in the two
places it was being called.
|
|
|
|
|
|
|
|
Components such as state trackers, drivers, etc, should be free to be
recombined in arbtrary ways to build driver stacks. They should not
be reaching out and trying to build the stack themselves - this is now
expected to be handled by the "target" abstraction.
|
|
|
|
Add a helper gallium_wrap_screen() for injecting the commonly
used extra layers into a gallium stack. Currently that's just the
trace module and identity layer, but there could be more in the
future, eg. a validation layer.
|
|
|
|
This reverts commit 2d56d0839e6db0861131893d67fe23734800085a.
Never actually used.
|
|
|
|
|
|
The state trackers need this value so that they can supply it
as the "void *" argument to flush_frontbuffer.
Fixes single-buffer rendering.
|
|
|
|
CSO can often be null.
For example:
1. at initialization
2. using an util module (u_blit) right after initialization (it will push
state and pop the previous null state)
3. at shutdown time (state shouldn't be bound when being destroyed)
Glean was hitting 2.
|
|
|
|
It's (rightly) not called from anywhere else now
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This makes draw_elements()/draw_elements_instanced() do the right thing
for the non-inline elements cases, and not require flush_notify().
|
|
This makes draw_arrays()/draw_arrays_instanced() do the right thing and
not require the (probably broken anyway) flush_notify() usage.
It also fixes a potential bug in the behaviour of reading InstanceID from
shaders, where 0 should be read for non-instanced drawing, previously it
was possible to read non-0 ids if mixing instanced/non-instanced.
|