Commit Graph

35159 Commits

Author SHA1 Message Date
Brian Paul
e3d8d25ebf swrast: fix 16-bit/channel rendering
NOTE: This is a candidate for the 7.8 stable branch
2010-05-09 22:08:56 -06:00
Brian Paul
9b990c81c0 osmesa: use unsigned 16-bit/channel format 2010-05-09 22:08:33 -06:00
Brian Paul
980df845a3 osmesa: add mapi/glapi to SRC_DIRS to fix build 2010-05-09 21:19:42 -06:00
Brian Paul
969103124b mesa: fix typos, comment in signed 16-bit tex fetch code 2010-05-09 21:19:42 -06:00
Brian Paul
17e9671894 mesa: added unsigned 16-bit/channel tex format 2010-05-09 21:19:42 -06:00
Brian Paul
7a57af6d11 mesa: added comments for signed 16-bit formats 2010-05-09 21:19:42 -06:00
Brian Paul
8ea614832d mesa: use GL_RGBA16_SNORM for accum buffer 2010-05-09 21:19:42 -06:00
Brian Paul
279056f803 mesa: added texstore function for signed 16-bit formats 2010-05-09 21:19:42 -06:00
Brian Paul
6274bb865f mesa: added UNCLAMPED_FLOAT_TO_SHORT macro 2010-05-09 21:19:42 -06:00
Brian Paul
880e04ba74 mesa: add missing cases for signed 16-bit formats 2010-05-09 21:19:41 -06:00
Chia-I Wu
913d7c388d st/mesa: Ignore internal_format in st_context_teximage.
When internal_format and tex->format differ, st_finailize_texture will
surface_copy between surfaces with different formats.  This commit works
around the issue by ignoring internal_format.  A sane fix is needed
here.
2010-05-09 16:23:28 +08:00
José Fonseca
8ad3e0b55d gallivm: Add an alternative to LLVMDumpValue that works with Windows GUI apps. 2010-05-08 23:29:05 +01:00
José Fonseca
08b3179f48 gallivm: Fix mipfiltering with negative lod bias.
In particular, don't use the clamped lod to compute level + 1, or
lod in [-1, 0] range will actually interpolate with level 1.

This makes Mipfilter DCT pass 100%.
2010-05-08 23:29:05 +01:00
José Fonseca
ff7542ab90 gallivm: Actually do floor/ceil/trunc for scalars.
Also start axing the code duplication for scalar case. The olution is to
treat the scalar case specially in a few innermost functions, and leave
outer functions untouched.
2010-05-08 23:29:05 +01:00
José Fonseca
ffebc7f2a7 gallivm: Import the code to compute the minimax polynomials.
It's quite a pain to remember the details after a while, and it is quite
likely we'll want to use this again, either for different polynomial
orders or different functions, so commit it here.
2010-05-08 23:29:05 +01:00
José Fonseca
c376dadbb0 gallivm: Use a minimax polynomial for exp2 in range [0,1] instead [-0.5,5].
The advantage of range[-0.5, 0.5] is that it doesn't require floor (for
which intrinsics are only available in SSE4.1).

But the EXP opcode pretty much forces us to use floor, and there is a
good floor approximation around truncation available anyway.

This fixes EXP failures in VShader DCT.
2010-05-08 23:29:05 +01:00
José Fonseca
de088c6ae4 gallivm: Don't hardcode number of args twice. 2010-05-08 23:29:05 +01:00
Marek Olšák
d044ecbe76 r300g: follow pipe_rasterizer_state::light_twoside 2010-05-08 23:19:33 +02:00
Marek Olšák
084580fa43 r300g: follow pipe_rasterizer_state::point_size_per_vertex 2010-05-08 23:19:30 +02:00
Marek Olšák
34a5109bc2 r300g: move GA_POINT_MINMAX back to rs_state
This basically reverts commit 74f94e8fdf.
2010-05-08 23:03:45 +02:00
Marek Olšák
ceafb391e6 r300g: fix glean/pointSprite using lodbias correction 2010-05-08 23:03:45 +02:00
Marek Olšák
71584d0cc7 r300g: pass depth texture swizzle to the compiler if compare mode is enabled 2010-05-08 23:03:45 +02:00
Marek Olšák
78e881368b r300g: respect compare mode regardless of sampler type 2010-05-08 23:03:45 +02:00
Marek Olšák
e812c0439c r300/compiler: fake equal/notequal for shadow samplers
This is actually better than a real implementation, which would be useless
due to inaccuracy (I know because I've tried to implement it).
2010-05-08 23:03:45 +02:00
Marek Olšák
35a6df5730 r300/compiler: use perspective division only for TXP in shadow samplers 2010-05-08 23:03:44 +02:00
Marek Olšák
0cbe1e6c14 r300/compiler: make shadow sampler codegen more readable, add comments 2010-05-08 23:03:44 +02:00
Marek Olšák
39d0ece5f5 r300/compiler: shorten RC_*SWIZZLE* expressions 2010-05-08 23:03:44 +02:00
Marek Olšák
eb9dc2595f r300/compiler: generalize depth texture mode to support arbitrary swizzles 2010-05-08 23:03:44 +02:00
Marek Olšák
c637f38e70 r300/compiler: fix LIT instruction case 0^0 = 1 2010-05-08 23:03:44 +02:00
Marek Olšák
da180a8d34 r300g: consolidate common render code into one function
This reduces redundant code by moving:
- CS space reservation
- buffer validation
- dirty state emission
- index bias emission
- AOS emission
into r300_prepare_for_rendering.
2010-05-08 23:03:44 +02:00
José Fonseca
e9fc5b463f gallivm: The the JIT engine to use our sinf()/cosf() on Windows.
A quick hack to get the right results, as there are many DCT tests
which use these opcodes to generate data to test other opcodes.
2010-05-08 18:36:22 +01:00
José Fonseca
2d91903882 gallivm: Fix BREAK/CONT translation.
The cont_mask must be restored and exec mask recomputed in order to decide
whether to repeat the loop or not.

Unlike the continue mask, the break_mask must be preserved across loop
iterations.

Fixes several VShader DCT cases, and no regressions with glean.
2010-05-08 16:17:09 +01:00
José Fonseca
852f735236 llvmpipe: Cover more formats in unit test. 2010-05-08 13:18:14 +01:00
José Fonseca
36e28d42b3 gallivm: Fix segfaul when inserting allocas in an empty function. 2010-05-08 13:02:46 +01:00
José Fonseca
2c2debaea7 gallivm: Centralize SoA swizzling into a single place. 2010-05-08 12:52:50 +01:00
José Fonseca
ff6c78f44f gallivm: Support predicates. 2010-05-08 12:50:52 +01:00
José Fonseca
6e47d4f889 llvmpipe: Match p_screen.h's function prototype. 2010-05-08 10:14:35 +01:00
Chia-I Wu
238f782982 Update file list for the tarballs.
Mainly for the recent work on mapi and gles.  The latter adds some
sources to src/mesa/main that are generated on the fly.  This makes
python a requirement for building Mesa.  An alternative is to package
those sources into the tarballs.  That may be done in another commit.
2010-05-08 16:14:52 +08:00
Vinson Lee
cc346b51fa llvmpipe: Remove unnecessary header. 2010-05-08 00:37:38 -07:00
Chia-I Wu
2e3c4e4784 docs: Update EGL and OpenGL ES docs.
Update to reflect recent gles and mapi works.
2010-05-08 14:58:59 +08:00
Chia-I Wu
56530c9097 egl: Build drivers in $(TOP)/$(LIB_DIR)/egl.
There are enough EGL modules that they deserve a subdirectory, to avoid
polluting $(TOP)/$(LIB_DIR).
2010-05-08 14:58:59 +08:00
Chia-I Wu
63ab2509bf gallium: Add egl-apis target.
The new target installs client API modules to EGL_DRIVER_INSTALL_DIR.
They are used by st/egl.

The client APIs are built from OpenGL and OpenVG state trackers.  For
this to work, st/vega is modified to produce a static library,
libvega.a, instead.  st/es is also not needed any more.  It is removed
and --with-state-trackers=es is replaced by --enable-gles-overlay.

As st/egl now has its own client API modules, this solves the ABI issue
between st/egl and client APIs, as long as the client API modules are
distributed with st/egl.  Plus, this allows st/egl to support OpenGL
with non-Gallium libGL.so.
2010-05-08 14:57:21 +08:00
Chia-I Wu
559046e791 mapi: Add install rules for OpenGL ES.
Move the install rules for OpenGL ES from src/mesa/Makefile to mapi.
2010-05-08 14:55:57 +08:00
Chia-I Wu
bc918efb56 mapi: Install .pc file for OpenVG. 2010-05-08 14:55:57 +08:00
Chia-I Wu
b0749fd09b mapi: Update vgapi to build libOpenVG.so.
Unlike the one produced by st/vega, this is a dispatch-only library.
2010-05-08 14:55:57 +08:00
Chia-I Wu
3e1ccb2508 mapi: Merge src/gles/.
Remove src/gles and have mapi/{es1api,es2api} build libGLESv1_CM.so and
libGLESv2.so.
2010-05-08 14:55:57 +08:00
Chia-I Wu
874ccd5d83 Define OpenGL ES and OpenVG library names.
Define <API>_LIB, <API>_LIB_NAME, <API>_LIB_GLOB, and some other
variables in the configs.  Fix a typo in glesv1_cm.pc.in where an
inexistent variable is used.
2010-05-08 14:55:52 +08:00
Chia-I Wu
2773f888dc egl_g3d: Check external modules for client APIs first.
dlopen api_<API>.so before dlopening the process itself in case the
client APIs are implemented in external modules.
2010-05-08 14:54:13 +08:00
Chia-I Wu
e8ba2812e6 egl: Add _eglSearchPathForEach.
The function can be used by a driver to check each search path of EGL.
2010-05-08 14:54:13 +08:00
Brian Paul
74fb08018a gallium/draw: additional comments in the clipping code 2010-05-07 17:13:16 -06:00