Commit Graph

35430 Commits

Author SHA1 Message Date
Zack Rusin
da7bd6a90e mesa: initial support for ARB_geometry_shader4
laying down the foundation for everything and implementing most of the
stuff.
linking, gl_VerticesIn and multidimensional inputs are left.
2010-06-28 22:53:21 -04:00
Marek Olšák
0b50fcbd55 util: reference surfaces and sampler views in blitter when saving them
Ooops. This should possibly fix some bugs...
2010-06-29 01:54:26 +02:00
Jakob Bornecrantz
7e1ce791c7 i915g: Add Galahad to targets 2010-06-28 22:33:39 +02:00
Jakob Bornecrantz
77cd1a989b r300g: Galahad for scons as well 2010-06-28 22:27:51 +02:00
Jakob Bornecrantz
2da9d80a4b r300g: Add target defines for Galahad 2010-06-28 22:27:08 +02:00
Jakob Bornecrantz
40d4b414d9 glhd: Build with scons 2010-06-28 22:27:06 +02:00
Jakob Bornecrantz
d12c4c5a62 glhd: Re-integrate with the debug system 2010-06-28 21:52:03 +02:00
Jakob Bornecrantz
2932dd6374 glhd: Remove leftover file 2010-06-28 21:37:03 +02:00
Jakob Bornecrantz
a01e0afd9f Merge branch 'gallium-drm-driver-drescriptor'
Conflicts:
	src/gallium/state_trackers/egl/x11/native_dri2.c
	src/gallium/state_trackers/egl/x11/native_x11.c
	src/gallium/state_trackers/egl/x11/native_x11.h
	src/gallium/state_trackers/xorg/xorg_driver.c
	src/gallium/winsys/radeon/drm/radeon_drm.c
2010-06-28 21:14:45 +02:00
José Fonseca
250b92f3bb llvmpipe: set WRITE_ALL only a per-tile basis in lp_resource_copy(). 2010-06-28 16:33:52 +01:00
José Fonseca
a9e0fda070 llvmpipe: Actually flush in lp_resource_copy()
The cpu_access is redundant in a software rasterizer.
2010-06-28 16:33:21 +01:00
José Fonseca
8be645d53a llvmpipe: Ensure outdated framebuffer state is not reused in lp_setup_bind_framebuffer().
We were starting a scene whenever lp_setup_get_vertex_info() was called by
the draw module. So when when all primitives were culled/clipped, not only
did we create a new scene for nothing, but we end up using the old scene
with the old framebuffer state instead of a new one.

Fix consists in:
- don't call lp_setup_update_state() in lp_setup_get_vertex_info() -- no
  longer necessary
- always setting the scene state before binning a command -- query
  commands were bypassing it
- assert no old scene is reused in lp_setup_bind_framebuffer()
2010-06-28 16:33:05 +01:00
Marek Olšák
ce7a70b8b4 r300g: fix a compile error on non-debug builds 2010-06-27 17:15:23 +02:00
Marek Olšák
57c3f70018 util: fix a memory leak in blitter 2010-06-27 15:13:14 +02:00
Marek Olšák
0a19d57b84 r300g: separate the hyperz state and pipelined FB regs out of the FB state 2010-06-27 15:13:14 +02:00
Marek Olšák
808ad22592 r300g: release referenced objects in destroy_context 2010-06-27 15:13:13 +02:00
Marek Olšák
639a7daa85 r300g: reference surfaces in set_framebuffer_state 2010-06-27 15:13:13 +02:00
Marek Olšák
408a886127 r300g: group debug messages 2010-06-27 15:13:13 +02:00
Marek Olšák
0a9510814e r300g: turn rasterizer state into a command buffer 2010-06-27 15:13:13 +02:00
Marek Olšák
c200c47e6c r300g: move emission of the MSPOS regs into the framebuffer state
Now the question is whether we are allowed to ignore gl_rasterization_rules and
pipe_rasterizer_state::multisample. The former is invariant anyway and
I think the latter would need re-emitting the AA state which is quite costly,
considering that it implicitly flushes the whole pipeline (all AA regs
in the AA state are *unpipelined*).
2010-06-27 15:13:13 +02:00
Marek Olšák
bb47d1c26f r300g: turn invariant state into a command buffer 2010-06-27 15:13:12 +02:00
Marek Olšák
8959f48bce r300g: initialize some crucial state in the first CS 2010-06-27 15:13:08 +02:00
Marek Olšák
fcacc6a076 r300g: introduce VAP invariant state
Unlike other invariant states, this one must be emitted after VAP flush.
2010-06-26 17:57:20 +02:00
Marek Olšák
8350d1d6f1 r300g: immediate mode cleanup 2010-06-26 17:47:32 +02:00
Marek Olšák
5acdfdbf42 r300g: update my notes about fastfill and zbuffer compression 2010-06-26 17:43:58 +02:00
Marek Olšák
f39800b339 r300g: enum r300_blitter_op is a bitmask 2010-06-26 17:35:56 +02:00
Marek Olšák
8924201530 draw: fix build with llvm and make 2010-06-26 14:01:41 +02:00
Vinson Lee
ecd8c66d6a mesa: Remove unnecessary header. 2010-06-26 00:47:52 -07:00
Vinson Lee
2943f1ed8c st/mesa: Remove unnecessary headers. 2010-06-26 00:38:05 -07:00
Vinson Lee
3443b581fb draw: Remove unnecessary header. 2010-06-26 00:31:57 -07:00
Zack Rusin
4503bd33da draw: deleted by mistake 2010-06-25 20:06:53 -04:00
Zack Rusin
a5c44986a3 draw: initialize headers in the none post paths as well 2010-06-25 19:58:09 -04:00
Zack Rusin
8ebfcf31eb draw: limit the number of vertex shader variants kept around
we used to create and cache unltimited number of variant, this
change limits the number of variants kept around to a fixed number.
the change is based on a similar patch by Roland for llvmpipe fragment
shaders.
2010-06-25 19:33:27 -04:00
Zack Rusin
5cf1921e6d draw: initialize vertex header 2010-06-25 19:33:27 -04:00
Brian Paul
4ae530370d gallium/util: fix pipe_sampler_view_reference() calls
The conditionals aren't needed.
2010-06-25 14:12:34 -06:00
Brian Paul
e099ed2c64 softpipe: rename a var 2010-06-25 09:56:22 -06:00
Chia-I Wu
7a9246c5d7 draw: Work around an invalid write.
SSE vertex shader does not seem to honor the execution mask.  Pad the
output array as a workaround.
2010-06-25 23:17:18 +08:00
Brian Paul
a879d14ecf mesa: initialize extension string when context is first bound
...instead of waiting until glGetString(GL_EXTENSIONS) is called.
This fixes a problem where the MESA_EXTENSION_OVERRIDE env var is
ignored if the app never calls glGetString(GL_EXTENSIONS).

NOTE: this is a candidate patch for the 7.8 branch.
2010-06-25 08:47:33 -06:00
Brian Paul
cc8c142e2a llvmpipe: fix comment typo 2010-06-25 08:47:22 -06:00
Brian Paul
fd60bf8e33 softpipe: fix comment typo 2010-06-25 08:47:22 -06:00
Marek Olšák
5d1cc93077 r300g: a couple more chipsets do not have HiZ RAM 2010-06-24 22:24:22 +02:00
Corbin Simpson
474dc40fb4 gallium/docs: Vertex data formats.
I'm not sure if I really got it right. This seems like one of those
"Duh, of course it works that way" things, but I'd like the
documentation to be readable by people not acquainted with OGL/D3D.
2010-06-24 07:57:30 -07:00
Corbin Simpson
484bb0ea58 glhd: Add test for logicop enable.
Only for first RT at the moment, as there is no trivial way in galahad
to look at framebuffer state and (sadly) people don't usually calloc
their CSOs, so flags could be wrongly set.

On the other hand, of course, galahad will hopefully encourage more
people to calloc their CSOs. :3
2010-06-24 07:22:29 -07:00
Corbin Simpson
49735d1c6c gallium/docs: Lops override the rest of the blending state when enabled. 2010-06-24 07:22:29 -07:00
Brian Paul
05a18f48e5 gallium/docs: updated remaining semantic label docs 2010-06-24 07:50:29 -06:00
nobled
fd7de146f6 pipe: Add PIPE_OS_HURD
One tiny step toward porting Gallium to the GNU/Hurd kernel
(and fixing Debian bug #585618).

Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2010-06-24 06:45:36 -07:00
Corbin Simpson
06a75bd873 gallium/docs: Add lop table.
Was feeling kind of weird without it.
2010-06-24 06:43:50 -07:00
Corbin Simpson
1e10464557 gallium/docs: Slight clarification and formatting for Blend. 2010-06-24 06:43:50 -07:00
Brian Paul
ca12aefdac Merge branch 'shader-file-reorg'
1. Move all GL entrypoint functions and files into src/mesa/main/
This includes the ARB vp/vp, NV vp/fp, ATI fragshader and GLSL bits
that were in src/mesa/shader/

2. Move src/mesa/shader/slang/ to src/mesa/slang/ to reduce the tree depth

3. Rename src/mesa/shader/ to src/mesa/program/ since all the
remaining files are concerned with GPU programs.

4. Misc code refactoring.  In particular, I got rid of most of the
GLSL-related ctx->Driver hook functions.  None of the drivers used
them.

Conflicts:
	src/mesa/drivers/dri/i965/brw_context.c
2010-06-23 22:30:26 -06:00
Marek Olšák
f2122d4724 r300g: remove an XXX comment 2010-06-24 06:15:45 +02:00