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
Brian Paul
c8562a6ed3
swrast: use gl_renderbuffer::StrideInBytes in depth/stencil code
...
(cherry picked from commit b766d4bb43 )
2012-01-27 17:43:22 -08:00
Brian Paul
48173180b5
mesa: use gl_renderbuffer::Map for all depth/stencil accesses
...
Instead of using the obsolete gl_renderbuffer::Data field.
Color buffer are still accessed through GetRow/PutRow().
(cherry picked from commit 7d1ddec921 )
2012-01-27 17:43:22 -08:00