Commit graph

10652 commits

Author SHA1 Message Date
Keith Whitwell
c31416971e gallium: rationalize vertex_element state packet
Remove dst_offset (not used)
Add nr_components, which could be calculated from format, but would be
too much effort.

Update i965 driver to cope.
2007-12-18 17:25:33 +00:00
Keith Whitwell
208b2ad8ab gallium: give userbuffers some storage in the aub buffer pool 2007-12-18 16:57:17 +00:00
Keith Whitwell
9d4ab42f4b vbo: unmap and remap immediate vbo before/after each draw.
Also use BufferData(NULL) to get fresh storage and avoid synchronous
operation where we would have to flush and wait for the fence after each
draw because of the map.

This will chew through a whole load of buffer space on small draws, so
it isn't a proper solution.  Need to support a no-fence or append mapping
mode to do this right, or use user buffers.
2007-12-18 16:56:22 +00:00
Zack Rusin
7cef9237ae i965: don't treat swz differently and upload vertex buffers 2007-12-18 09:59:54 -05:00
Brian
e2a669aed4 obsolete 2007-12-17 20:41:20 -07:00
Brian
04a5a8b3bc updates for depth/stencil/alpha state 2007-12-17 14:06:17 -07:00
Brian
8978627ad0 Emit declarations for constants (references to the const buffer) 2007-12-17 14:00:35 -07:00
Zack Rusin
aeb5362281 i965: index the destination offset with regards to the current index 2007-12-17 14:36:31 -05:00
Zack Rusin
531efbab75 i965: return false when the function fails, not succeeds 2007-12-17 14:05:46 -05:00
Keith Whitwell
bfe79babf9 gallium: incorporate alpha state into depth_stencil state object. 2007-12-17 16:14:29 +00:00
Keith Whitwell
556e247cee 965: remove dead state atom decls 2007-12-17 10:30:38 +00:00
Keith Whitwell
3be91c5a49 965: fix for non-indexed draw path 2007-12-17 10:30:38 +00:00
Keith Whitwell
95adfb9fec 965: fix/hack check for NULL texunit in state upload 2007-12-17 10:30:38 +00:00
Keith Whitwell
b52e4477f8 965: fix ExtDivide check 2007-12-17 10:30:38 +00:00
Keith Whitwell
ae858511d0 965: put brw_constant_buffer atom directly in update list 2007-12-17 10:30:38 +00:00
Brian
41b1aa5109 switch on cpp instead of format 2007-12-16 10:00:51 -07:00
Brian
47b5138d2d rename some 'mesa' functions 2007-12-15 16:51:57 -07:00
Brian
263e8f0572 Use tile functions in new p_tile.[ch]
This removes quite a bit of code duplicated in the drivers.
2007-12-15 16:44:29 -07:00
Brian
bccc4c5c01 Re-usable tile get/put functions 2007-12-15 16:42:22 -07:00
Brian
de1201a0ba don't allocate scratch tile in sp_tile_cache_flush_clear() to avoid stack overflow 2007-12-15 09:49:20 -07:00
Brian
017f862de1 Added origin_lower_left field to pipe_rasterizer_state
This controls whether the window origin is considered to be the lower-left
or upper-left corner.
This effects computation of gl_FragCoord and the application of polygon stipple.
2007-12-14 12:25:25 -07:00
Brian
f3b3ea9742 update_samplers() didn't respect the sampler->texunit mapping.
This fixes the glsl/texdemo1.c program.
2007-12-14 11:43:15 -07:00
Brian
fce4612f8a set SamplerUnit[] entry in load_texture() just to be safe 2007-12-14 11:42:28 -07:00
Brian
814d4ff83a emit tgsi declarations for texture samplers 2007-12-14 11:17:48 -07:00
Brian
1e3b07f363 set program->SamplersUsed bit when using a texture instruction 2007-12-14 11:16:49 -07:00
Brian
e785f190f0 Don't always declare frag shader INPUT[0] as fragment position.
We were doing this for the sake of softpipe and the tgsi intergrepter since
we always need the fragment position and W-coordinate information in order
to compute fragment interpolants.
But that's not appropriate for hardware drivers.
The tgsi interpreter now get x,y,w information from a separate tgsi_exec_vector
variable setup by softpipe.
The new pipe_shader_state->input_map[] defines how vert shader outputs map
to frag shader inputs.  It may go away though, since one can also examine
the semantic label on frag shader input[0] to figure things out.
2007-12-14 11:00:46 -07:00
Brian
23e36c2dfb update comment for TGSI_TOKEN_TYPE_IMMEDIATE case 2007-12-14 10:46:29 -07:00
Brian
a2b4d4a8db add missing code for PIPE_FORMAT_S8_UNORM renderbuffer 2007-12-13 18:26:48 -07:00
Brian
e2d7107cc2 remove unused var 2007-12-13 18:26:10 -07:00
Keith Whitwell
7a2d3ac5bc 965: get brw_wm_surface_state compiling again 2007-12-13 21:00:10 +00:00
Keith Whitwell
568fcf64c7 965: get fragment shader compiler compiling
Don't think that it will run though.
2007-12-13 20:39:31 +00:00
Zack Rusin
c605a55e9f i965: make the wm_surface compile 2007-12-13 11:43:55 -05:00
Keith Whitwell
c4d71c719c 965: implement magic buffer offset callback 2007-12-13 16:39:49 +00:00
Keith Whitwell
a6ae4ea854 965: magic callback to get buffer offset 2007-12-13 16:36:07 +00:00
Brian
81c9058ea9 Add QuadX,Y fields to tgsi_exec_machine to pass quad's position to tgsi interpreter.
The tgsi linear/perspective attribute code now uses these values rather than
input[0].  Need to update SSE path to take quad x,y as function params.
Then, we can remove additional code.
2007-12-13 09:05:15 -07:00
Keith Whitwell
8cd608d5ba 965: missing code from last commit 2007-12-13 15:39:34 +00:00
Keith Whitwell
559750298a 965: remove dead code 2007-12-13 15:37:19 +00:00
Keith Whitwell
0c2e87d565 965: remove dead code 2007-12-13 15:37:19 +00:00
Keith Whitwell
19025605e9 965: remove dead code 2007-12-13 15:37:19 +00:00
Keith Whitwell
7abe2bfefa 965: remove dead code 2007-12-13 15:37:19 +00:00
Keith Whitwell
54f1ce3b27 965: remove reference to metaops 2007-12-13 15:37:19 +00:00
Keith Whitwell
1f1506ec94 965: use state atom array directly 2007-12-13 15:37:19 +00:00
Keith Whitwell
4844b9fb9d 965: calculate nr enabled vbos on the fly 2007-12-13 15:37:18 +00:00
Zack Rusin
da89104c57 Actually allocate the output registers.
In tgsi the output's will (hopefully) consecutive so this
check (besides not being currently implemented) is not
necessary.
2007-12-13 10:33:12 -05:00
Brian
417c295333 added r5g5b5_put_tile_rgba() 2007-12-12 16:30:49 -07:00
Brian
4416514aa8 Remove get/put_tile_rgba() functions.
Temporarily, use the functions from sp_rgba_tile.c
2007-12-12 16:05:38 -07:00
Brian
034476fc78 remove #include 2007-12-12 16:04:52 -07:00
Brian
a4ca2591f6 Move float/rgba tile get/put functions into new file.
This should be moved into a gallium util lib (location tbd) so it can also
be used by the state tracker.
Then, remove the pipe->get/put_tile_rgba() functions.
2007-12-12 16:00:11 -07:00
Brian
708251558c PIPE_SCREEN_SURFACE no longer needed 2007-12-12 15:24:01 -07:00
Brian
20eae595fa Re-org of st_create_framebuffer() and renderbuffer format selection.
st_create_framebuffer() now takes pipe_formats for the color, depth, stencil
buffers.
This avoids a round-about chain of calls to pipe->is_format_supported() for
window renderbuffers (their format never changes).
Renderbuffer format selection code in st_format.c is simpler now too.
2007-12-12 14:55:57 -07:00