History log of /external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
def044376a6d15d992fd8e0d9a63c40a9f509c78 11-Jun-2016 Rob Clark <robclark@freedesktop.org> gallium/util: make util_copy_framebuffer_state(src=NULL) work

Be more consistent with the other u_inlines util_copy_xyz_state()
helpers and support NULL src.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c
ebbe31d57c195245b2b556c14291cafccc835738 29-Apr-2016 Jan Vesely <jan.vesely@rutgers.edu> gallium,utils: Fix trivial sign compare warnings

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Jakob Sinclair <sinclair.jakob@openmailbox.org>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c
a609da60c034ab059ead213e6c25fe4d37bf7d43 27-Apr-2016 Brian Paul <brianp@vmware.com> gallium/util: s/Elements/ARRAY_SIZE/

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c
0b7075fed75585087fa54b537fa9866bce2fcbee 02-Jan-2016 Edward O'Callaghan <eocallaghan@alterapraxis.com> gallium: Put no.of {samples,layers} into pipe_framebuffer_state

Here we store the number of samples and layers directly in the
pipe_framebuffer_state so that in the case of
ARB_framebuffer_no_attachment we may make use of them directly.

Further, we adjust various gallium/auxiliary helper functions
accordingly.

V2:
Convert branches in util_framebuffer_get_num_layers() and
util_framebuffer_get_num_samples() to their canonical form.

V3:
'git stash pop' the typo fix of 'cbufs' which should be
'nr_cbufs' that was missing in V2, woops! Thanks Marek for
pointing this out yet again.

V4:
Squash in the following patch:

'gallium/util: Ensure util_framebuffer_get_num_samples() is valid'

Upon context creation, internal driver structures are malloc()'ed
and memset() to zero them. This results in a invalid number of
samples 'by default'. Handle this in the simplest way to avoid
elaborate and probably equally sub-optimial solutions.

Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c
6262d6125a175d64045083341e74985652f44f17 27-Mar-2016 Marek Olšák <marek.olsak@amd.com> gallium/util: fix up inaccurate behavior of util_framebuffer_state_equal (v2)

v2: move the nr_cbufs check above the loop

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> (v1)
/external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c
9677cfab323ef0a24b40711895333685c63258ac 08-Jan-2014 Marek Olšák <marek.olsak@amd.com> gallium/util: easy fixes for NULL colorbuffers

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c
9baa45f78b8ca7d66280e36009b6a685055d7cd6 08-Jan-2014 Marek Olšák <marek.olsak@amd.com> st/mesa: bind NULL colorbuffers as specified by glDrawBuffers

An example why it is required:

Let's say there's a fragment shader writing to gl_FragData[0..1].
The user calls: glDrawBuffers(2, {GL_NONE, GL_COLOR_ATTACHMENT0});

That means gl_FragData[0] is unused and gl_FragData[1] is written
to GL_COLOR_ATTACHMENT0.

st/mesa was skipping the GL_NONE draw buffer, therefore gl_FragData[0]
was written to GL_COLOR_ATTACHMENT0, which was wrong.

This commit fixes it, but drivers must also be fixed not to crash when
binding NULL colorbuffers. There is also a new set of piglit tests for this.

The MSAA state also had to be fixed not to crash when reading fb->cbufs[0].

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c
6b919b1b2d296f7d7410c2291b7e0332d7bef1a0 21-Nov-2013 Marek Olšák <marek.olsak@amd.com> gallium/util: implement layered framebuffer clear in u_blitter

All bound layers (from first_layer to last_layer) should be cleared.

This uses a vertex shader which outputs gl_Layer = gl_InstanceID, so each
instance goes to a different layer. By rendering a quad and setting
the instance count to the number of layers, it will trivially clear all
layers.

This requires AMD_vertex_shader_layer (or PIPE_CAP_TGSI_VS_LAYER), which only
radeonsi supports at the moment. r600 could do this too. Standard DX11
hardware will have to use a geometry shader though, which has higher overhead.
/external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c
dc21b36daf9037f0747071e124b73f48ea5ff117 08-Nov-2013 Brian Paul <brianp@vmware.com> util: set all unused cbufs to NULL in util_copy_framebuffer_state()

This helps fix an issue in the svga driver, and is just safer all-around.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c
deb809ec98664257ed215e75554e1a80c149c851 06-Aug-2010 Luca Barbieri <luca@luca-barbieri.com> auxiliary: fix util_framebuffer_copy

util_framebuffer_copy was attempting to copy all elements of the
source framebuffer state.

However, this breaks if the user does not zero initialize the structure.
Instead, only copy the elements up to nr_cbufs, and clear elements up
to dst->nr_cbufs, if the destination was larger than the source.
/external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c
258f433fffa67710d6424d3703528294133ada65 27-May-2010 Keith Whitwell <keithw@vmware.com> util: add util_framebuffer_min_size
/external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c
1fc5a318a64b10567ed6990eb04b2dc3ecb2b347 04-May-2010 Brian Paul <brianp@vmware.com> gallium: move framebuffer utility functions into a new file
/external/mesa3d/src/gallium/auxiliary/util/u_framebuffer.c