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