Marek Olšák
89c4888710
u_vbuf: don't call u_vbuf_upload_buffers if there's nothing to upload
2012-04-24 01:39:22 +02:00
Marek Olšák
634066946e
u_vbuf: don't upload user buffers if the driver supports them
2012-04-24 01:39:22 +02:00
Marek Olšák
6fe30fbc96
u_vbuf: optimize u_vbuf_translate_find_free_vb_slots
2012-04-24 01:39:22 +02:00
Marek Olšák
b5e5e61439
u_vbuf: turn bool arrays into bitmasks and loops into bitwise operations
...
Optimized functions:
- u_vbuf_need_minmax_index
- u_vbuf_mapping_vertex_buffer_blocks
2012-04-24 01:39:22 +02:00
Marek Olšák
eaf8fe3335
u_vbuf: take advantage of all new vertex fetch caps
2012-04-24 01:39:22 +02:00
Marek Olšák
a0e352f5eb
u_vbuf: simplify u_vbuf_set_vertex_buffers
2012-04-24 01:39:22 +02:00
Marek Olšák
039f53b814
u_vbuf: rename native_attribs -> driver_attribs
2012-04-24 01:39:22 +02:00
Marek Olšák
23b948057a
r600g: move updating vertex buffer state into set_vertex_buffers
2012-04-24 01:39:22 +02:00
Marek Olšák
3e3737e9e2
st/mesa: always expose ARB_ES2_compatibility
...
u_vbuf translates GL_FIXED too if needed.
2012-04-24 01:39:22 +02:00
Marek Olšák
a78fd815d4
st/mesa: always expose ARB_half_float_vertex
...
u_vbuf kicks in and translates it to float if it's unsupported.
2012-04-24 01:39:22 +02:00
Marek Olšák
e0773da1e8
gallium: make user vertex buffers optional
...
This couldn't be split because it would break bisecting.
Summary:
* r300g,r600g: stop using u_vbuf
* r300g,r600g: also report that the FIXED vertex type is unsupported
* u_vbuf: refactor for use in the state tracker
* cso: wire up u_vbuf with cso_context
* st/mesa: conditionally install u_vbuf
2012-04-24 01:39:22 +02:00
Marek Olšák
79eafc14ca
i915g: report that all vertex formats are supported
...
So that u_vbuf isn't enabled.
2012-04-24 01:39:22 +02:00
Marek Olšák
428855eea3
r600g: don't share u_upload_mgr with u_vbuf, create its own
2012-04-24 01:39:22 +02:00
Marek Olšák
e54cc2c070
r300g: don't share u_upload_mgr with u_vbuf, create its own
2012-04-24 01:39:22 +02:00
Marek Olšák
ae799a4948
u_vbuf: pull u_vbuf_draw_max_vertex_count into r300g
2012-04-24 01:39:22 +02:00
Marek Olšák
7fe3631a7a
u_vbuf: make use of the new CAPs to determine what to do
...
This adds the ability to initialize u_vbuf_caps before creating u_vbuf itself.
It will be useful for determining if u_vbuf should be used or not.
Also adapt r300g and r600g.
2012-04-24 01:39:22 +02:00
Marek Olšák
978c1aa1d0
gallium drivers: report that user vertex buffers are supported
2012-04-24 01:39:21 +02:00
Marek Olšák
c9a9d1ba11
gallium: add CAPs for vertex fetcher
...
Supported vertex formats will be queried using
is_format_supported(.., PIPE_BIND_VERTEX_BUFFER, ..).
2012-04-24 01:39:21 +02:00
Marek Olšák
a52b3338c6
u_vbuf: remove u_vbuf_resource
2012-04-24 01:39:21 +02:00
Marek Olšák
7d36478d88
u_vbuf: use user_ptr from pipe_resource
2012-04-24 01:39:21 +02:00
Marek Olšák
e8ab3b1ce7
gallium: add user_ptr in pipe_resource
...
I need to access the pointer in st/mesa when I only have pipe_resource.
2012-04-24 01:39:21 +02:00
Marek Olšák
5ec7c28fdb
u_vbuf: override draw_vbo
2012-04-24 01:39:21 +02:00
Marek Olšák
889238c8b1
u_vbuf: override create/bind/destroy_vertex_elements_state
2012-04-24 01:39:21 +02:00
Marek Olšák
2d03d4f4a3
u_vbuf: override set_vertex_buffers
2012-04-24 01:39:21 +02:00
Marek Olšák
31714ea4d5
u_vbuf: override set_index_buffer
...
This makes u_vbuf_mgr call the driver instead of the other way around.
2012-04-24 01:39:21 +02:00
Marek Olšák
76c4760e5d
st/mesa: use cso_set_index_buffer and cso_draw_vbo
...
Reviewed-by: Brian Paul <brianp@vmware.com>
2012-04-24 01:39:21 +02:00
Marek Olšák
0f00786868
gallium/util: use cso_draw_arrays in util_draw_vertex_buffer
...
Reviewed-by: Brian Paul <brianp@vmware.com>
2012-04-24 01:39:21 +02:00
Marek Olšák
76eefcc70c
cso: add set_index_buffer and draw_vbo passthrough functions
...
v2: use util_draw_init_info
Reviewed-by: Brian Paul <brianp@vmware.com>
2012-04-24 01:39:21 +02:00
Jeremy Huddleston
d9c9c7a111
darwin: Don't build gallium
...
fe3f98ed70
intentionally broke it, so
don't build it.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-23 16:17:39 -07:00
Jonas Maebe
c60ffd2840
apple: Fix a use after free
...
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-23 16:17:39 -07:00
Marek Olšák
802ca81e26
vbo: call UpdateState directly when notifying a driver about _NEW_ARRAY
...
Core Mesa doesn't need to know about this.
This also removes the hack in recalculate_input_bindings.
Reviewed-by: Brian Paul <brianp@vmware.com>
2012-04-23 22:58:02 +02:00
Marek Olšák
6fc565a94b
vbo: do FLUSH_CURRENT before validating and updating state
...
This fixes an assertion failure since:
commit 81afdd20f3
vbo: don't check twice whether it's valid to render
FLUSH_CURRENT may set _NEW_CURRENT_ATTRIB.
Reviewed-by: Brian Paul <brianp@vmware.com>
2012-04-23 22:58:02 +02:00
Marek Olšák
edec3fa812
r300g/automake: add $ARCH_FLAGS and $OPT_FLAGS
...
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
2012-04-23 22:58:02 +02:00
Marek Olšák
f940c0a3d9
r600g/automake: add $ARCH_FLAGS and $OPT_FLAGS
...
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
2012-04-23 22:58:02 +02:00
Brian Paul
7f5420762c
r600g: init vars to silence warnings
2012-04-23 13:29:06 -06:00
Han Shen(沈涵)
b352d676e4
bin/mklib: remove '-m32' for arm linux
...
-m32 is not a valid option for ARM.
NOTE: This is a candidate for the 8.0 branch.
Signed-off-by: Brian Paul <brianp@vmware.com>
2012-04-23 13:27:07 -06:00
Brian Paul
99ed0b2f9b
st/mesa: no-op glCopyPixels if source region is out of bounds
...
If the source region for a glCopyPixels is completely outside the
source buffer bounds, no-op the copy. Fixes a failed assertion.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2012-04-23 13:27:07 -06:00
Tom Stellard
d7f9b6ce13
radeon/llvm: Don't print an error message when there is no error
...
A blank line with an empty error message was being printed even when the
target lookup succeeded.
2012-04-23 09:34:05 -04:00
Tom Stellard
f5fc3ac284
radeon/llvm: Lower VCREATE_v4f32 for R600 and SI
2012-04-23 09:34:05 -04:00
Tom Stellard
519789d7e6
r600g/llvm: Let ISel handle lowering to {INSERT,EXTRACT}_SUBREG
2012-04-23 09:34:05 -04:00
Tom Stellard
3c0f521cbf
r600g/llvm: Only emit an instruction's explicit operands
2012-04-23 09:34:05 -04:00
Tom Stellard
b3863eb9a5
r600g/llvm: Handle copies between vector registers
2012-04-23 09:34:05 -04:00
Tom Stellard
d4da0a0627
r600g/llvm: Remove debugging hack from R600InstrInfo::copyPhysReg()
2012-04-23 09:34:05 -04:00
Tom Stellard
90a42df0d0
r600g/llvm: Tell the code emitter to ignore KILL and BUNDLE
2012-04-23 09:34:04 -04:00
Tom Stellard
fa52aeb396
r600/llvm: Add LOAD_VTX instruction
2012-04-23 09:34:04 -04:00
Tom Stellard
ced73ea5df
r600g: Add hooks for the LLVM shader compiler
...
The LLVM backend can now be enabled for r600g by using the
--enable-r600-llvm-compiler configure flag. If you configure with this
flag, you can still use the default compiler by setting the envrionment
variable R600_USE_LLVM=0
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-04-23 09:34:04 -04:00
Tom Stellard
2da9610566
r600g: Add TGSI->LLVM implementation v2
...
v2: Add case for ARUBA in r600_llvm_gpu_string()
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-04-23 09:34:04 -04:00
Tom Stellard
509ddb0a04
radeon: Move radeon_llvm_emit.cpp declarations into their own header
...
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-04-23 09:33:55 -04:00
Tom Stellard
6e238bf27c
radeon: Remove HAVE_LLVM ifdefs
...
Only LLVM 3.1 is supported, so these are not necessary.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-04-23 08:53:48 -04:00
Vadim Girlin
65b35b63d3
r600g: fix gpr number calculation
...
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
2012-04-23 08:53:47 -04:00