Commit Graph

119 Commits

Author SHA1 Message Date
Stefan Dösinger 3b48660f43 wined3d: Implement YV12 support for emulated overlays.
This is the prefered format of many codecs, and for some codecs this
is the only supported output format. As usual I try to handle all the
conversion in the GPU and keep the CPU involvement minimal to gain the
full performance of PBO transfers.
2008-09-02 14:55:50 +02:00
Rob Shearman 24c5df3dc1 include: Remove superfluous semi-colons from wine/wined3d_gl.h. 2008-08-18 17:34:12 +02:00
Stefan Dösinger e9827cc916 wined3d: Always load glFinish and glFlush from opengl32.dll. 2008-08-04 13:12:10 +02:00
Stefan Dösinger 726d9d47af wined3d: ATI2N support using GL_EXT_texture_compression_rgtc. 2008-07-24 11:56:42 +02:00
Stefan Dösinger dc25a86cc5 wined3d: Support ATI's D3DFMT_ATI2N format.
This is an ATI specific format designed for compressed normal maps,
and quite a few games check for its existence. While it is an
ATI-specific "extension" in d3d9, it is a core part of
D3D10(DXGI_FORMAT_BC5), and supported on Geforce 8 cards.
2008-07-24 11:56:24 +02:00
Stefan Dösinger c088edeae7 wined3d: Use GL_ARB_texture_non_power_of_two emulation.
ATI cards prior to the radeon HD series did not have unconditional non
power of two support. So far we've used texture_rectangle for that, or
created a bigger power of two texture with padding. This had the
disadvantage that we had to correct the coordinates, which causes
extreme problems with shaders(doesn't work, pretty much).

Both the MacOS and the fglrx driver have support for
GL_ARB_texture_non_power_of_two, and run it on the hardware as long as
we stay within the texture_rectangle limitations. This allows us to
have conditional non power of two textures with normalized
coordinates. This patch adds an internal extension, and the code
creates a regular GL_TEXTURE_2D texture with NP2 size, but refuses
mipmapping, filtering and texture_rectangle incompatible
operations. This makes np2 textures work with shaders on fglrx and
macos.
2008-07-18 11:41:09 +02:00
Stefan Dösinger e5f42f91b6 wined3d: Remove GL_EXT_vertex_weighting stubs. 2008-07-18 11:40:00 +02:00
Andrew Talbot 3e1fad5350 wined3d: Remove const qualifier from output pointers. 2008-07-09 10:44:45 +02:00
H. Verbeet 4a4ab5f2ae wined3d: Add support for ARB_color_buffer_float. 2008-06-19 11:47:34 +02:00
Roderick Colenbrander b73b2eca47 wined3d: Update ATI GPUs. 2008-06-09 12:40:22 +02:00
Roderick Colenbrander 38a98f6789 wined3d: Update nvidia GPUs. 2008-06-09 12:40:10 +02:00
Stefan Dösinger 2173fde722 wined3d: Avoid float->string conversion in arb shaders. 2008-06-06 10:28:24 +02:00
Roderick Colenbrander 628e4eece3 wined3d: Add multisampling support. 2008-04-30 10:23:25 +02:00
Roderick Colenbrander f0307d9366 wgl: Add a wine specific WGL extension which allows you to change the pixel format multiple times. 2008-04-24 12:32:38 +02:00
Stefan Dösinger 67e0943ba3 wined3d: Store the number of aux buffers in the context. 2008-04-09 11:47:24 +02:00
Roderick Colenbrander 4eaa424c79 wined3d: Initial post pixelshader blending support. [attempt 2].
For each pixel format we store a flag in the table whether it supports
post pixelshader blending. Before applying blending or during a
context switch we verify that blending is turned off for the
format. In case of R32F this gave a 5-6x performance boost (without
filtering and software conversion).
2008-03-28 15:50:24 +01:00
Stefan Dösinger 18e16f4e66 wined3d: Add GL_ATI_fragment_shader. 2008-03-25 19:48:35 +01:00
Stefan Dösinger d20768c120 wined3d: Support shininess > 128 if opengl does. 2008-03-05 19:23:06 +01:00
Stefan Dösinger 8b28ca720e wined3d: Use GL_EXT_gpu_program_parameters if available. 2008-03-04 12:15:32 +01:00
Stefan Dösinger 6269415793 wined3d: Add GL_APPLE_float_pixels. 2008-02-26 11:31:29 +01:00
Roderick Colenbrander c2d978410f wined3d: Add separate alpha blend support. 2008-02-18 14:19:57 +01:00
Stefan Dösinger 74db14728e wined3d: Separate OpenGL and driver version. 2008-02-06 12:43:53 +01:00
Roderick Colenbrander 916b56391d wined3d: Fix glBlendColorEXT for use on RivaTNT. 2008-01-14 13:10:28 +01:00
Stefan Dösinger c290f4c7a3 wined3d: Detect geforce 7300 cards. 2008-01-08 17:04:36 +01:00
Stefan Dösinger b83dc6bbf6 wined3d: Move the GL info structure into the adapter. 2007-12-20 12:10:08 +01:00
Stefan Dösinger 54fa712981 wined3d: Initialize output texcoord .w to 1.0 if needed.
The GL_ARB_vertex_program extension does not define a standard value for
output texture coordinates. This makes problems when using vertex
shaders with fixed function fragment processing because fffp divides the
texture coords by its .w component. This means that gl shaders have to
write to the .w component of texture coords. Direct3D shaders however
do not.
2007-12-07 14:54:22 +01:00
Stefan Dösinger 7ba04e6132 wined3d: Detect the Intel GPU in macbooks. 2007-12-03 13:44:31 +01:00
Marco Schuster 15e1c57141 wined3d: Added a card ID for a 8600 Mobile GT. 2007-11-29 15:31:54 +01:00
Stefan Dösinger 0cfa7f99e6 wined3d: Add GL_ARB_texture_rectangles to our opengl extensions. 2007-11-29 13:36:16 +01:00
Stefan Dösinger a0127f2e1f wined3d: Allow using a different internal format for fbos.
OpenGL drivers do not support some low precision internal formats
like GL_RGB5 for fbo color targets. Direct3D application depend on them,
so provide a fallback format for render targets if the requested format
itself is not supported.
2007-11-28 13:40:29 +01:00
Stefan Dösinger 28170c1440 wined3d: Report some more geforce 7 cards as geforce 7. 2007-11-28 13:40:29 +01:00
Stefan Dösinger 894a705cc7 wined3d: Load GL_EXT_texture3D from gl 1.2 if the extension is not there. 2007-11-12 14:29:52 +01:00
Stefan Dösinger 07bbf1899d wined3d: Extend the gl extension function loading table with ext info. 2007-11-12 14:26:49 +01:00
Stefan Dösinger 44a592bc74 wined3d: Align the gl function table. 2007-11-12 14:25:18 +01:00
Stefan Dösinger f79ca75d08 wined3d: Implement a detection for the MacOS OpenGL implementation. 2007-11-09 12:29:55 +01:00
Stefan Dösinger 5ffea6e591 wined3d: Honor the driver's min point size. 2007-11-08 12:05:19 +01:00
Stefan Dösinger fb0dde7b27 wined3d: Relative addressing offsets are limited to [-64; 63] in arb. 2007-11-08 11:54:43 +01:00
Stefan Dösinger 654571f2fc wined3d: Add a max varyings member to the gl info structure. 2007-11-06 13:34:47 +01:00
Roderick Colenbrander c2bf124a90 wined3d: Use EXT-versions of glBlend*. 2007-10-09 12:34:49 +02:00
Roderick Colenbrander 243ac3ed75 wined3d: Move video memory tracking to the adapter. 2007-09-24 13:50:43 +02:00
Stefan Dösinger 1c4a15d2cd wined3d: Recompile glsl pixelshaders if the sampler format changes. 2007-09-24 13:30:08 +02:00
Roderick Colenbrander 21a3c1d4be wined3d: Better video memory reporting. 2007-09-20 15:53:40 +02:00
Roderick Colenbrander 0b0f353b7d wined3d: Update list of pci ids. 2007-09-17 12:10:33 +02:00
Stefan Dösinger c5410a6f22 wined3d: Use GL_NV_depth_clamp to implement clipping disable. 2007-09-17 12:08:40 +02:00
Roderick Colenbrander ad692f2a83 wined3d: Add PBO support for dynamically locked surfaces. 2007-09-13 11:00:47 +02:00
Stefan Dösinger 160258b637 wined3d: Implement mipmap auto generation. 2007-09-12 12:10:25 +02:00
Stefan Dösinger 5ab9d85c39 wined3d: Implement texbeml. 2007-09-12 12:10:03 +02:00
Roderick Colenbrander 925e8964f1 wined3d: Add Geforce8 device ids. 2007-08-27 11:58:44 +02:00
Roderick Colenbrander 9ca3a22487 wined3d: Dynamically load WGL functions. 2007-08-17 12:03:13 +02:00
Roderick Colenbrander 6af80e44c0 wined3d: Use WINE_GLAPI for setting the calling convention needed for OpenGL. 2007-08-14 20:29:21 +02:00