Commit Graph

35078 Commits

Author SHA1 Message Date
Dan Nicholson cbf30fce32 osmesa: always build standalone for internal symbols
When building OSMesa and xlib GL, the resulting OSMesa would be linked
against libGL instead of the internal mesa libraries. However, when
building with -fvisibility=hidden, some of the internal functions used
in OSMesa could not be resolved through libGL.

Instead, always build OSMesa standalone without linking against libGL.
This has the advantage that OSMesa is always built the same way, but it
means that disk space is wasted when libGL is installed since both
libraries will contain the internal objects.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Tested-by: Tom Fogal <tfogal@alumni.unh.edu>
2010-06-16 09:23:17 -07:00
Alan Hourihane 1c377cea10 draw: handle some out of memory conditions 2010-06-16 12:27:53 +01:00
Zack Rusin 9829ec2ad8 graw: add a gs test for non-sequential inputs 2010-06-16 05:33:46 -04:00
Vinson Lee 88308ea173 draw: Remove unnecessary headers. 2010-06-15 17:34:59 -07:00
Zack Rusin 3560652ccf gs: make sure we end primitives when finishing executing shaders 2010-06-15 16:37:32 -04:00
Zack Rusin 215e10ac26 draw/gs: make sure gs works with elts and doesn't overrun the buffer 2010-06-15 16:10:18 -04:00
Kristian Høgsberg 80dfec3e53 mesa: Allow querying the system FBO in GetFramebufferAttachmentParameteriv
If the default framebuffer is bound to <target>, then
        <attachment> must be one of FRONT_LEFT, FRONT_RIGHT, BACK_LEFT,
        BACK_RIGHT, AUXi, DEPTH_BUFFER, or STENCIL_BUFFER, identifying a
        color buffer, the depth buffer, or the stencil buffer, and
        <pname> may be FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE or
        FRAMEBUFFER_ATTACHMENT_OBJECT_NAME.

as well as these <pname> values

        FRAMEBUFFER_ATTACHMENT_RED_SIZE,
        FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
        FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
        FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
        FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
        FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
        FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, or
        FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING.

https://bugs.freedesktop.org/show_bug.cgi?id=28551
2010-06-15 13:28:38 -04:00
Zack Rusin 726f18ee69 graw: test multiple cb's in geometry shaders 2010-06-15 12:14:18 -04:00
Zack Rusin ec82e9fbfa graw: fix setup for multiple constant buffers 2010-06-15 12:01:47 -04:00
Zack Rusin bf577393c7 draw: run the pipeline with the correct number of verts
verts per primitive, not total count
2010-06-15 09:12:20 -04:00
Zack Rusin 9cf5e814b9 draw: fix primitive indexing in the pipeline
spotted by Keith
2010-06-15 09:12:20 -04:00
Zack Rusin a192b5eeaf draw: finish the new pipeline setup
Keith came up with a new way of running the pipeline which involves passing
a few info structs around (for fetch, vertices and prims) and allows us
to correctly handle cases where we endup with multiple primitives generated
by the pipeline itself.
2010-06-15 09:12:20 -04:00
Zack Rusin 92e521a799 softpipe/gs: fix a crash when a gs isn't present 2010-06-15 09:12:19 -04:00
Keith Whitwell b85a361ccb draw wip 2010-06-15 09:12:19 -04:00
Vinson Lee 5d4d4b2134 i965: Remove unnecessary header. 2010-06-14 17:50:15 -07:00
Marek Olšák 0452d52ae3 r300g: initialize US_CODE_BANK on r4xx 2010-06-14 23:39:56 +02:00
Eric Anholt 7dcba1af9d i965: Fix surface state dumping with INTEL_DEBUG=batch.
I broke this with the state streaming changes.
2010-06-14 14:03:56 -07:00
Zhenyu Wang 9a1ce46fce i965: correct the gen6 line stipple enable define. 2010-06-14 14:03:56 -07:00
Eric Anholt 44ad62b86c intel: Remove long-dead comment about releasing texture heaps.
BOs are stored in the bufmgr, which is freed as part of the screen
structure.
2010-06-14 14:03:56 -07:00
José Fonseca 4b383054d3 gallivm: Omit references to NoFramePointerElimNonLeaf
It was added after 2.7.
2010-06-14 17:36:17 +01:00
José Fonseca 27fafa2587 util: Use int type for format field width.
As suggested by gcc warning.
2010-06-14 17:11:21 +01:00
José Fonseca 4d2407699b gallivm: Override some of the default target options.
In particular:
- enable LLVM <-> GDB integration for JIT code
- disable frame-pointer elimination on debug/profile builds
- enable fast-math.
2010-06-14 16:51:47 +01:00
José Fonseca 21a9ef12bf gallivm: Use func_to_pointer(). 2010-06-14 16:50:40 +01:00
José Fonseca 91bbe466c7 util: Add a func_to_pointer util function too. 2010-06-14 16:50:39 +01:00
Zack Rusin 5d5fa34757 graw: small fixups for the gs examples 2010-06-14 10:49:16 -04:00
Marek Olšák 8ad410dc13 r300g: fix uploading RC state shader constants on r3xx
I've messed this up in one of my previous commits.

Reported-by: Igor Murzov
2010-06-14 13:03:13 +02:00
Marek Olšák 1c0e5ba9f1 r300g: drop begin_cs/end_cs
I have had a look at the libdrm sources and they just contain more or less
the same checking we do in macros, and begin_cs may realloc the CS buffer
if we overflow it, which never happens with r300g. So these are pretty
much useless.

There is a small but measurable performance increase by dropping the two
functions.
2010-06-14 12:46:38 +02:00
Marek Olšák cf3778bae0 r300g: rewrite occlusion queries
The previous implementation had issues with queries spanning over several
command streams as well as using a very large number of queries.

This fixes flickering in Enemy Territory: Quake Wars. The driver now renders
everything correctly in this game and the graphics is awesome.
2010-06-14 12:46:38 +02:00
Marek Olšák 824c1f6a4a r300g: emit viewport state as a dword table 2010-06-14 12:46:37 +02:00
Marek Olšák 8874c9d7a3 r300g: subclass pipe_surface 2010-06-14 12:46:37 +02:00
Marek Olšák 39826a2036 r300g: simplify reloc macros 2010-06-14 12:46:37 +02:00
Marek Olšák c1f18bff3e r300g: count CS dwords on debug builds only 2010-06-14 00:52:11 +02:00
Marek Olšák f558bcb397 r300g: optimize emission of fragment shader constants 2010-06-13 17:43:39 +02:00
Marek Olšák 3da6487115 r300g: turn fragment shader into a CB 2010-06-13 17:43:39 +02:00
Marek Olšák 0a44efaeb9 r300g: turn depth stencil state into a CB 2010-06-13 17:43:39 +02:00
Marek Olšák f803211629 r300g: turn clip state into a CB 2010-06-13 17:43:39 +02:00
Marek Olšák 9dd50993c6 r300g: turn blend color into a CB 2010-06-13 17:43:38 +02:00
Marek Olšák cd891648d4 r300g: turn blend state into a CB 2010-06-13 17:43:38 +02:00
Marek Olšák a062156bb2 r300g: add API for building command buffers
The idea is to build a hardware command buffer for every CSO and memcpy
the buffer to a command stream at bind time (or dirty-state-emission time,
to be precise).
2010-06-13 17:43:38 +02:00
Marek Olšák 7ca24dfa6d r300g: inline FLUSH_CS
The fewer macros, the better.
2010-06-13 17:43:38 +02:00
Marek Olšák 98f67a6bbd r300g: reorder CS macros and document them a little 2010-06-13 17:43:38 +02:00
Marek Olšák 8f13e2bda1 r300g: drop DBG_CS
I'd like the CS macros to be as lightweight as possible for performance
reasons.
2010-06-13 17:43:38 +02:00
Marek Olšák 7005feabcd r300g: inline CHECK_CS 2010-06-13 17:43:38 +02:00
Marek Olšák ae182296ce r300g: replace r300_cs_info with simplier get_cs_free_dwords 2010-06-13 17:43:38 +02:00
Marek Olšák 7d5230ce90 r300g: fix multiple render targets
This fixes tests/drawbuffers.
2010-06-13 17:43:38 +02:00
Marek Olšák ea0ec0b48e r300g: remove r300_state.h 2010-06-13 17:43:38 +02:00
Marek Olšák cb17f5ee75 r300g: move two-sided stencilref fallback to its own file 2010-06-13 17:43:37 +02:00
Marek Olšák aa5422327d r300g: move index buffer translate functions to their new home 2010-06-13 17:43:37 +02:00
Marek Olšák 028459b0bf r300g: add fallback for unaligned/unsupported vertex stride/offset/format
There is a problem though, the translate module cannot emit half float
vertices.
2010-06-13 17:43:37 +02:00
Marek Olšák 1384a7bcca r300g: upload only vertex buffers referenced by vertex elements 2010-06-13 17:43:37 +02:00