Commit graph

12091 commits

Author SHA1 Message Date
Brian Paul
5700bc6bac draw: add missing LP_CHECK_MEMBER_OFFSET() 2011-01-15 17:37:40 -07:00
Henri Verbeet
a25473b535 r600g: Remove the redundant radeon_new() prototype. 2011-01-15 19:48:43 +01:00
Henri Verbeet
5a2abf7a85 r600g: Fix some register value name typos.
SFR -> SRF.
2011-01-15 19:48:43 +01:00
Henri Verbeet
f6f7808028 r600g: Get rid of r600_translate_vertex_data_type().
This has been replaced with r600_vertex_data_type().
2011-01-15 19:48:43 +01:00
Brian Paul
652901e95b Merge branch 'draw-instanced'
Conflicts:
	src/gallium/auxiliary/draw/draw_llvm.c
	src/gallium/drivers/llvmpipe/lp_state_fs.c
	src/glsl/ir_set_program_inouts.cpp
	src/mesa/tnl/t_vb_program.c
2011-01-15 10:24:08 -07:00
Christoph Bumiller
21001d2ba7 nvc0: try to swap immediates to first source too 2011-01-15 14:14:55 +01:00
Christoph Bumiller
52474d4246 nvc0: make sure all sources of the BIND op are distinct
They're supposed to be assigned consecutive registers so they can't
contain the same SSA value more than once.
2011-01-15 14:14:50 +01:00
Christoph Bumiller
1ae982adfd nvc0: update user vbufs on each draw call
This is required in case set_vertex_buffers is not called again.
2011-01-15 12:18:52 +01:00
Christoph Bumiller
b50d02e2e0 nvc0: enable early fragment tests where possible 2011-01-15 12:17:57 +01:00
Christoph Bumiller
5ec66c6e70 nvc0: upload small buffers through the command buffer 2011-01-15 12:17:00 +01:00
Chia-I Wu
b70d0a6a51 targets/egl-static: Assorted cleanups and fixes.
Share more code between windows and non-windows platforms.  Check
env['x11'] for X11 and add env['X11_LIBS'] to LIBS.  Add ws_wrapper for
i965g.
2011-01-15 12:35:22 +08:00
Chia-I Wu
6f769a690b targets/egl: i965 needs libwsw.
Fix undefined symbol wrapper_sw_winsys_dewrap_pipe_screen.
2011-01-15 12:35:19 +08:00
Alex Deucher
634dece281 r600g: compiler helper opcode fixes for evergreen
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-01-14 17:50:49 -05:00
Alex Deucher
9dfc68314d r600g: pass r600_bc to some addition compiler helper functions
needed for asic specific opcodes

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-01-14 17:50:29 -05:00
Vinson Lee
4c6d6dd8fc r600g: Disable V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT_FLOOR case.
The usage of macro V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT_FLOOR was
introduced by commit 323ef3a1f0 but the
macro is undefined. Disable this case to fix the build for now.
2011-01-14 13:47:37 -08:00
Christian König
323ef3a1f0 r600g: add more missing instructions to r600_bc_get_num_operands 2011-01-14 18:46:52 +01:00
Vinson Lee
a2ab929ab2 r600g: Move declaration before code in r600_asm.c.
Fixes SCons build.
2011-01-13 14:17:01 -08:00
Christian König
96f8f8db7b r600g: rework literal handling 2011-01-13 23:01:35 +01:00
Christian König
d7342f6a81 r600g: merge alu groups 2011-01-13 23:01:35 +01:00
Christian König
eea1d8199b r600g: implement replacing gpr with pv and ps 2011-01-13 23:01:35 +01:00
Christian König
0448f73f06 r600g: add missing RECIPSQRT_CLAMPED to r600_bc_get_num_operands 2011-01-13 21:29:47 +01:00
Christian König
a25b91c2c2 r600g: rework bank swizzle code 2011-01-13 21:22:00 +01:00
Christian König
89275c0b36 r600g: fix alu slot assignment 2011-01-13 19:41:07 +01:00
Christian König
236e99fe05 r600g: optimize away CF ALU instructions even if type doesn't match 2011-01-13 19:41:07 +01:00
Christoph Bumiller
370ae0bd61 nvc0: identify POINT_RASTER_RULES, add POINT_SMOOTH state
Point smoothing requires rasterization rules to be set to OGL.

Sorry for the extra noise caused by the header update.
2011-01-13 19:36:25 +01:00
Chia-I Wu
abbb1c8f08 draw: Fix an off-by-one bug in a vsplit assertion.
When use_spoken is true, istart (the first vertex of this segment) is
replaced by i0 (the spoken vertex of the fan).  There are still icount
vertices.

Thanks to Brian Paul for spotting this.
2011-01-14 02:02:26 +08:00
Vinson Lee
d599df8a8c targets/egl-static: Remove unnecessary header. 2011-01-13 09:16:25 -08:00
Vinson Lee
eb70e58caf r600g: Silence uninitialized variable warnings. 2011-01-13 09:07:19 -08:00
José Fonseca
9277a62aa3 scons: Ensure the OpenVG/EGL import libs are also prefixed with 'lib'. 2011-01-13 12:33:41 +00:00
José Fonseca
63528c4510 scons: Build libOpenVG.dll & libEGL.dll
But without creating liblibOpenVG or liblibEGL elsewhere.

Thanks Chia-I Wu for pointing this out.
2011-01-13 11:54:43 +00:00
José Fonseca
80f18876f6 util: Undo spurious changes in last commit. 2011-01-13 11:45:40 +00:00
José Fonseca
fe2cfd9b19 util: Don't limit debug_printf message length on unices. 2011-01-13 11:44:16 +00:00
Chia-I Wu
a22a332fc7 egl: Improve driver selection.
The idea is to be able to match a driver using the following order

  try egl_gallium with hw renderer
  try egl_dri2
  try egl_gallium with sw renderer
  try egl_glx

given the module list

  egl_gallium
  egl_dri2
  egl_glx

For that, UseFallback initialization option is added.  The module list
is matched twice: with the option unset and with the option set.  In the
first pass, egl_gallium skips its sw renderer and egl_glx rejects to
initialize since UseFallback is not set.  In the second pass,
egl_gallium skips its hw renderer and egl_dri2 rejects to initialize
since UseFallback is set.  The process stops at the first driver that
initializes the display.
2011-01-13 18:15:45 +08:00
Chia-I Wu
655e459892 egl: Simplify driver matching.
Add initialization options that drv->API.Initialize should support.
Replace drv->Probe by TestOnly initialization option and simplify
_eglMatchDriver.
2011-01-13 18:10:38 +08:00
Chia-I Wu
a4a38dcf61 egl: Cleanup _EGLDisplay initialization.
Reorder/rename and document the fields that should be set by the driver during
initialization.  Drop the major/minor arguments from drv->API.Initialize.
2011-01-13 17:57:38 +08:00
Ben Skeggs
bd2b72359e nvc0: disable calling of sw methods we don't implement
Left in the code as a marker of what NVIDIA do, just in case we need
to do this some day.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-01-13 15:26:31 +10:00
Ben Skeggs
0c1db2feb9 nvc0: fix mp_stack_bo relocation
Fixes a PT_NOT_PRESENT error cause by:
- allocating in VRAM
- emitting GART relocs to 0x17bc/0x17c0, moving the buffer
- telling the bufmgr that the buffer should be in VRAM when we use it,
  but not correcting the value sent to 0x17bc/0x17c0.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-01-13 13:31:29 +10:00
Brian Paul
4d96af9337 noop: change var type to silence warning 2011-01-12 17:55:44 -07:00
Christian König
6881262eff r600g: also look at tex inst when for maximum gpu count 2011-01-12 20:41:15 +01:00
Christian König
c60cb25bfb r600g: implement output modifiers and use them to further optimize LRP 2011-01-12 19:44:49 +01:00
Christian König
7728bef290 r600g: use special constants for 0, 1, -1, 1.0f, 0.5f etc 2011-01-12 19:40:52 +01:00
Christian König
dffad730df r600g: optimize temp register handling for LRP 2011-01-12 19:36:55 +01:00
Christian König
8813842121 r600g: optimize away CF_INST_POP
If last instruction is an CF_INST_ALU we don't need to emit an
additional CF_INST_POP for stack clean up after an IF ELSE ENDIF.
2011-01-12 19:31:36 +01:00
Christian König
052b9e8fab r600g: make dumping of shaders an option 2011-01-12 19:17:49 +01:00
Christian König
95a2b265fa r600g: fix alu dumping 2011-01-12 19:17:49 +01:00
Christian König
47e7c6f571 r600g: improve r600_bc_dump 2011-01-12 19:17:49 +01:00
José Fonseca
46662de68b scons: Update windows build for vgapi->openvg rename. 2011-01-12 15:13:57 +00:00
José Fonseca
b07ad1d6bd scons: Fix build on systems without libOpenVG.so 2011-01-12 15:06:57 +00:00
Chia-I Wu
a8b6b6555c scons: Updates for targets/egl-static.
Update SConscripts to re-enable or add support for EGL on windows and
x11 platforms respectively.  targets/egl-gdi is replaced by
targets/egl-static, where "-static" means pipe drivers and state
trackers are linked to statically by egl_gallium, and egl_gallium is a
built-in driver of libEGL.  There is no more egl_gallium.dll on Windows.
2011-01-12 17:40:01 +08:00
Chia-I Wu
49ed5bb28d targets/egl-static: New EGL target for scons.
This target is based on and replaces egl-gdi.  It is suitable for both
windows and x11.
2011-01-12 17:40:01 +08:00