| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
According to Vinson, enabling it causes no regressions
|
| |
|
|
|
|
|
|
|
| |
To my knowledge, there is no way to flush zmask and thus write the clear
value.
This fixes zbuffer reads, among other things.
|
| |
|
|
|
|
| |
Not sure whether it works now (it is still disabled).
|
| |
|
|
|
|
| |
Add new source files to SConscripts.
|
|
|
|
|
|
|
| |
This pretty much ports the code from r600c, however it doesn't
always seem to work quite perfectly, but I can't find anything in this
code that is wrong. I'm guessing either literal input or constants
aren't working always.
|
| |
|
| |
|
|
|
|
| |
Doesn't fix anything, as those indices were both always 0.
|
|
|
|
| |
the first two are straight op2's and the DDX/DDY are taken from r600c.
|
|
|
|
| |
fixes fp-set-01 and glsl-fs-step
|
|
|
|
| |
fixes biased texturing tests
|
|
|
|
|
|
| |
Don't do perspective for TEX, and also copy input to a temporary for TEX
also add tex opcode names
|
|
|
|
| |
makes glsl-fs-log2 and glsl1-integer division with uniform var pass
|
|
|
|
| |
fixes piglit pointAtten and point-sprite tests
|
|
|
|
| |
This still needs work, passes tex3d, fbo-scissor-bitmap, scissor-bitmap
|
|
|
|
|
| |
We were putting the source pointer in a register used as a temporary,
breaking all paths that don't read the data in a single instruction.
|
|
|
|
|
|
|
| |
h needs to be rounded up, this probably needs revisiting when we get
to tiling etc.
fixes fbo-generatemipmap-npot
|
|
|
|
|
|
|
| |
8 more piglit tests pass,
fbo-clearmipmap, fbo-copyteximage, fbo-generatemipmap,
fbo-generatemipmap-nonsquare, fbo-generatemipmap-scissor,
fbo-generatemipmap-viewport, gen-teximage, gen-texsubimage
|
|
|
|
| |
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
| |
Use DRI_LIB_DEPS when linking GL/GLES state trackers. This fixes
missing talloc symbol errors, and is hopefully more future proof.
|
|
|
|
| |
Signed-off-by: José Fonseca <[email protected]>
|
|
|
|
|
|
| |
we were destroying the mm before unrefing all the objects, so segfault.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
| |
these events have names, use them.
|
|
|
|
|
|
|
|
|
| |
Apart from the fact that the radeon.h/r600_states.h editing is a nightmare, this
wasn't so bad.
passes piglit user-clip test now also trivial tests.
Signed-off-by: Dave Airlie <[email protected]>
|
|\
| |
| |
| |
| | |
Conflicts:
src/mesa/program/prog_optimize.c
|
| | |
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
New shader compiler need libc++ runtime. This works already if
we are using llvm so this just covers the !llvm case.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
check_os_katmai_support checks that the operating system running on a
SSE-capable processor supports SSE. This is necessary for unpatched
2.2.x and earlier kernels. 2.4.x and later kernels support SSE.
check_os_katmai_support will disable SSE capabilities for 32-bit x86
operating systems for which there is no code path. Currently, this
function handles Linux, Windows, and several BSDs. Mac OS, Cygwin, and
Solaris are several operating systems with no code paths.
Rather than add code for the unhandled operating systems, remove this
function altogether. This will fix SSE detection on all recent 32-bit
x86 operating systems. This completely breaks functionality on unpatched
2.2.x and earlier kernels, although there are likely no Gallium3D users
on such operating systems.
|
| | | |
|
| | |
| | |
| | |
| | | |
Fixes MSVC build.
|
| | |
| | |
| | |
| | | |
Reported-by: Niels Ole Salscheider <[email protected]>
|
| | |
| | |
| | |
| | | |
Assuming the side-effect of x86_make_reg is also unnecessary.
|
| | |
| | |
| | |
| | | |
Non-portable.
|
| | |
| | |
| | |
| | | |
The extension is implemented by pipe_fence_handle.
|
| | |
| | |
| | |
| | | |
The extension is implemented by pipe_condvar.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Changes in v2:
- Change function name
Currently draw_llvm refuses to create itself on non-SSE2 CPUs due to
an alleged LLVM bug.
However, this is implemented improperly, because other parts of draw
still attempt to access draw->llvm, resulting in segfaults.
Instead, put the check in debug_get_option_draw_use_llvm, check that
before calling draw_llvm_create, and then check whether draw->llvm is
non-null everywhere else.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
NOTE: Win64 is untested, and is thus currently disabled.
If you have such a system, please enable it and report whether it works.
To enable it, change src/gallium/auxiliary/translate/translate.c
Changes in v5:
- On Win64, preserve %xmm6 and %xmm7 as required by the ABI
- Use _WIN64 instead of WIN64
Changes in v4:
- Use x86_target() and x86_target_caps()
- Enable translate_sse in x86-64, but not in Win64
Changes in v3:
- Win64 support (untested)
- Use u_cpu_detect.h constants instead of #ifs
Changes in v2:
- Minimize #ifs
- Give a name to magic number CHANNELS_0001
- Add support for CPUs without SSE (only memcpy and swizzles, like non SSE2)
- Fixed comments
translate_sse is currently very limited to the point of
being useless in essentially all cases.
In particular, it only support some float32 and unorm8
formats and doesn't work on x86-64.
This commit rewrites it to support:
1. Dumb memory copy for any pair of identical formats
2. All formats that are swizzles of each other
3. Converting 32/64-bit floats and all 8/16/32-bit integers to 32-bit float
4. Converting unorm8/snorm8 to snorm16 and uscaled8/sscaled8 to sscaled16
5. Support for x86-64 (doesn't take advantage of it in any way though)
This new translate can even be useful to translate index buffers for
cards that lack 8-bit index support.
It passes the testsuite I wrote, but note that this is a major change, and more
testing would be great.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Changes in v5:
- Add sse2_movdqa
Changes in v4:
- Use _WIN64 instead of WIN64
Changes in v3:
- Add target and target caps functions, so that they could be different in
principle from the current CPU and they don't need #ifs to check
Changes in v2:
- Win64 support (untested)
- Use u_cpu_detect.h constants instead of #ifs
This commit adds minimal x86-64 support: only movs between registers
are supported for r8-r15, and x64_rexw() must be used to ask for 64-bit
operations.
It also adds several new instructions for the new translate_sse code.
movdqa
|
| | |
| | |
| | |
| | |
| | | |
Currently, only 32-bit indices are supported, but some use cases
translate needs support for all types.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently translate_sse puts two trivial wrappers in the translate vtable.
These slow it down and enlarge the source code for no gain, except perhaps
the ability to set a breakpoint there, so remove them.
Breakpoints can be set on the caller of the translate functions, with no
loss of functionality.
|
| | |
| | |
| | |
| | | |
This moves the common code into a separate ALWAYS_INLINE function.
|