Commit graph

48884 commits

Author SHA1 Message Date
Ian Romanick
58e0c4f872 mesa: Don't resurrect deleted ARB VAOs in glPopClientAttrib
When ARB VAOs are used, glPopClientAttrib does not resurrect a deleted
VAO or VBO.  This difference between the two spec is, unfortunately,
not very well spelled out in the specs.

Fixes oglc vao(advanced.pushPop.deleteVAO) and
vao(advanced.pushPop.deleteVBO) tests.

NOTE: This is a candidate for release branches.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 34c353ce46)
2012-01-27 18:02:42 -08:00
Ian Romanick
eea63b7621 mesa: Rename gl_array_object::VBOonly to ::ARBsemantics
There are more differences between Apple and ARB than just requiring
that all arrays be stored in VBOs.  Additional uses will be added in
following commits.

Also, set the flag at Bind time instead of Gen time.  The ARB_vao spec
specifies that behavior.

NOTE: This is a candidate for release branches.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 0963990153)
2012-01-27 18:02:42 -08:00
Ian Romanick
85a52bf7b5 swrast: Use fixed-function processing instead _TexEnvProgram for DrawPixels
This is a hack to work around drivers such as i965 that:

    - Set _MaintainTexEnvProgram to generate GLSL IR for
      fixed-function fragment processing.
    - Don't call _mesa_ir_link_shader to generate Mesa IR from the
      GLSL IR.
    - May use swrast to handle glDrawPixels.

Since _mesa_ir_link_shader is never called, there is no Mesa IR to
execute.  Instead do regular fixed-function processing.

Even on platforms that don't need this, the software fixed-function
code is much faster than the software shader code.

NOTE: This is a candidate for the 8.0 branch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44749
(cherry picked from commit 9be3be3c66)
2012-01-27 18:02:42 -08:00
Ian Romanick
05b7f13af1 mesa: Make sure _TexEnvProgram points at the current ff fragment program
At least one place, the _mesa_need_secondary_color function in
state.h, uses this to make decisions.  The next patch in this series
will add another dependency.  Ideally, this field would go away and be
replace by a flag or something.

NOTE: This is a candidate for the 8.0 branch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 34db7a8c1e)
2012-01-27 18:02:42 -08:00
Brian Paul
93d5799e8b swrast: fix uninitialized variable warning
(cherry picked from commit ba151a333b)
2012-01-27 18:02:42 -08:00
Brian Paul
4f8b00d8ef swrast: make rowStride variable signed in put_z32_values()
As with commit aed5c8299f
(cherry picked from commit cf386f0a2b)
2012-01-27 18:02:42 -08:00
Brian Paul
b5a5a1c615 intel: use swrast code to map/unmap renderbuffers for swrast rendering
(cherry picked from commit 89bb19adb0)
2012-01-27 18:02:42 -08:00
Brian Paul
4d72e190c0 mesa: update comments, fix whitespace in dd.h
(cherry picked from commit 4baf90353d)
2012-01-27 18:02:42 -08:00
Brian Paul
e442906c87 swrast: remove unused StoreTexel code
No longer needed since we do all rendering to texture with the buffer
mapping and pixel packing functions.
(cherry picked from commit 9403cc3aba)
2012-01-27 18:02:42 -08:00
Brian Paul
12370e050a swrast: use Map/UnmapTextureImage() in framebuffer map/unmap code
When we're actually rendering into a texture, map the texture image
instead of the corresponding renderbuffer.  Before, we just copied
a pointer from the texture image to the renderbuffer.  This change
will make the code usable by hardware drivers.
(cherry picked from commit 1caf698191)
2012-01-27 18:02:41 -08:00
Brian Paul
5163fed919 mesa: remove ctx->Driver.Map/UnmapTexture() hooks
No longer used anywhere.
(cherry picked from commit 56d83ac4bf)
2012-01-27 18:02:41 -08:00
Brian Paul
acfbf24335 nouveau: stop calling ctx->Driver.Map/UnmapTexture()
And remove unused nouveau_texture_map/unmap()
(cherry picked from commit 8b8a54afd9)
2012-01-27 18:02:41 -08:00
Brian Paul
765892865f tnl: remove ctx->Driver.Map/UnmapTexture() calls
ctx->Driver.MapTexture() always points to _swrast_map_texture().
We're already reaching into swrast from t_vb_program.c anyway.
This will let us remove the ctx->Driver.Map/UnmapTexture() functions.
(cherry picked from commit 4bbab2275f)
2012-01-27 18:02:41 -08:00
Brian Paul
9daa974d4d swrast: move some renderbuffer functions to s_renderbuffer.c
(cherry picked from commit bde356a158)
2012-01-27 18:02:41 -08:00
Brian Paul
05adf4d6e4 intel: remove intel_span_supports_format()
It always returned True.
(cherry picked from commit 1839a7fc9f)
2012-01-27 18:02:41 -08:00
Brian Paul
eca54b1eb4 swrast: remove a few extra _mesa_get_format_bytes() calls
(cherry picked from commit 6c1e27ba21)
2012-01-27 18:02:41 -08:00
Brian Paul
8e5cf4cb45 mesa: update comments for gl_renderbuffer
(cherry picked from commit 1da7d6c919)
2012-01-27 18:02:41 -08:00
Brian Paul
1fd179b984 mesa/swrast/drivers: remove obsolete gl_renderbuffer fields
This removes the last of the legacy fields from gl_renderbuffer.
(cherry picked from commit 1888dd52a3)
2012-01-27 18:02:41 -08:00
Brian Paul
843194d89f dri/swrast: use swrast_renderbuffer type
(cherry picked from commit becbb64313)
2012-01-27 18:02:41 -08:00
Brian Paul
7c95a4ec22 swrast: use swrast_renderbuffer instead of gl_renderbuffer
(cherry picked from commit 0c1862851f)
2012-01-27 18:02:41 -08:00
Brian Paul
9567178ca2 osmesa: use swrast_renderbuffer
(cherry picked from commit 797c18be1f)
2012-01-27 18:02:40 -08:00
Brian Paul
83602e8342 radeon: derive radeon_renderbuffer from swrast_renderbuffer
(cherry picked from commit c080202db5)
2012-01-27 18:02:40 -08:00
Brian Paul
b31bfae0db intel: derive intel_renderbuffer from swrast_renderbuffer
Drivers that rely on swrast need to do this, as with swrast_texture_image.
(cherry picked from commit 9f8ed9d662)
2012-01-27 18:02:40 -08:00
Brian Paul
49ab5ad142 xlib: derive xmesa_renderbuffer from swrast_renderbuffer
(cherry picked from commit d16e71eeb4)
2012-01-27 18:02:40 -08:00
Brian Paul
5916b15247 swrast: allocate swrast_renderbuffers instead of gl_renderbuffers
(cherry picked from commit f2479530b8)
2012-01-27 18:02:40 -08:00
Brian Paul
a36cc604cf swrast: new swrast_renderbuffer type
This will let us move the swrast-specific fields out of gl_renderbuffer.
(cherry picked from commit 34988272d9)
2012-01-27 18:02:40 -08:00
Brian Paul
73ed8cec4a intel: use intel_rb_format() to get renderbuffer format
This will make future changes cleaner and less invasive.
(cherry picked from commit 924de7dc96)
2012-01-27 18:02:40 -08:00
Brian Paul
c6e56a69d8 dri/swrast: rename swrast_renderbuffer to dri_swrast_renderbuffer
To prevent name collision with future swrast_renderbuffer in the swrast
module.
(cherry picked from commit 1048d55d5f)
2012-01-27 18:02:40 -08:00
Brian Paul
d980b8350f swrast: use stencil packing function in s_stencil.c
(cherry picked from commit c45771905f)
2012-01-27 18:02:40 -08:00
Brian Paul
143999bdd8 swrast: use color packing functions in s_span.c
(cherry picked from commit 881ef2a9db)
2012-01-27 18:02:39 -08:00
Brian Paul
ae3bd76e31 swrast: remove s_spantemp.h
(cherry picked from commit 8696a52102)
2012-01-27 18:02:39 -08:00
Brian Paul
86fc256131 xlib: remove xm_span.c and related code
(cherry picked from commit b0f0d7a811)
2012-01-27 18:02:39 -08:00
Brian Paul
5cb5aa4a84 mesa: remove gl_renderbuffer::Wrapped
There's no such thing as renderbuffer wrappers anymore.
(cherry picked from commit 59a5b5a193)
2012-01-27 18:02:39 -08:00
Brian Paul
f0ad188c9f swrast: rewrite, simplify the the render-to-texture code
(cherry picked from commit ab331140c6)
2012-01-27 18:02:39 -08:00
Brian Paul
8786555199 mesa: rename gl_renderbuffer::Data to Buffer
To better indicate that this pointer to the malloc'd memory.
(cherry picked from commit 7a36345f70)
2012-01-27 18:02:39 -08:00
Brian Paul
f29212ecba mesa: move freeing of software renderbuffers into swrast
(cherry picked from commit f6a3979a04)
2012-01-27 18:02:39 -08:00
Brian Paul
8e5e735424 mesa: remove gl_renderbuffer::DataType
(cherry picked from commit f9874feef4)
2012-01-27 18:02:39 -08:00
Brian Paul
f5367c4503 mesa: remove gl_renderbuffer:RowStride field
(cherry picked from commit 1e1b5cb01a)
2012-01-27 18:02:39 -08:00
Brian Paul
d60bcbe31d mesa: finally, remove the GetRow/PutRow/etc functions
(cherry picked from commit 82846fea4d)
2012-01-27 18:02:38 -08:00
Brian Paul
64deeddce8 dri: remove all the obsolete spantmp files
(cherry picked from commit 304f7a1327)
2012-01-27 18:02:38 -08:00
Brian Paul
514fcec7da radeon: remove obsolete GetRow/PutRow code
(cherry picked from commit a4c6dedb27)
2012-01-27 18:02:38 -08:00
Brian Paul
9b5e402837 nouveau: remove obsolete GetRow/PutRow code
(cherry picked from commit f892debdc2)
2012-01-27 18:02:38 -08:00
Brian Paul
57df49908e intel: remove most of the span Get/PutRow code
(cherry picked from commit 41869c4942)
2012-01-27 18:02:38 -08:00
Brian Paul
38e4496ac3 dri/swrast: remove obsolete GetRow/PutRow code
This is a squash of:

    dri/swrast: remove obsolete GetRow/PutRow code
    (cherry picked from commit cb5fa9ea62)

and

    dri/swrast: remove obsolete swrast_span.c file from source list
    (cherry picked from commit a9bf149e7f)

    Conflicts:

	src/mesa/drivers/dri/swrast/Makefile.sources
2012-01-27 18:02:14 -08:00
Brian Paul
39d978a60c osmesa: remove obsolete GetRow/PutRow code
(cherry picked from commit 2873555a76)
2012-01-27 17:43:22 -08:00
Brian Paul
e4b42d618c xlib: remove obsolete GetRow/PutRow code
(cherry picked from commit 2e80c7e5bf)
2012-01-27 17:43:22 -08:00
Brian Paul
d85b4bae0e mesa: remove obsolete PutRow, etc assignments
(cherry picked from commit 0d2f0c8bb8)
2012-01-27 17:43:22 -08:00
Brian Paul
3dd8937492 swrast: remove Get/PutRow()-related code
(cherry picked from commit d65bbfa947)
2012-01-27 17:43:22 -08:00
Brian Paul
1f0cc3faf2 st/mesa: remove gl_renderbuffer::GetPointer stuff
(cherry picked from commit a4a566a610)
2012-01-27 17:43:22 -08:00
Brian Paul
f00ba21915 swrast: stop using Put/GetRow/Values() in swrast code
All color buffer rendering is now done by accessing mapped renderbuffer
memory.  We're now able to get rid of all the GetRow/PutRow stuff.
(cherry picked from commit 0ff817f200)
2012-01-27 17:43:22 -08:00