Commit Graph

1436 Commits

Author SHA1 Message Date
H. Verbeet 3777ef3a71 wined3d: Dump the FBO's attachments when its status is GL_FRAMEBUFFER_UNSUPPORTED_EXT. 2007-04-17 11:11:41 +02:00
H. Verbeet c4cc10a595 wined3d: Add a function for dumping FBO status codes. 2007-04-17 11:11:31 +02:00
Jan Zerebecki 58c7c51485 wined3d: Remove resourceStoreCriticalSection. 2007-04-16 13:51:56 +02:00
Stefan Dösinger 725057da47 d3d: Remove dependency on ddraw.h header. 2007-04-16 13:20:15 +02:00
Stefan Dösinger 8a5b6df483 d3d: Enumerate palettized formats for ddraw. 2007-04-16 12:12:34 +02:00
Fabian Bieler c4bbed4854 wined3d: Mark vertex shader 3.0 as foggy shaders if they write out the fog coord. 2007-04-13 12:58:12 +02:00
H. Verbeet a79654d339 wined3d: Fix some swizzles on scalars. 2007-04-13 12:56:06 +02:00
Stefan Dösinger 0d88a38238 wined3d: Dirtify the shader and declaration states if the bound interface is destroyed. 2007-04-12 16:09:12 +02:00
H. Verbeet 2423c9f003 wined3d: Dirtify the sampler used by IWineD3DSurface_PreLoad in IWineD3DSurfaceImpl_BltOverride. 2007-04-10 21:39:43 +02:00
H. Verbeet 8d3c078e6c wined3d: Disable the scissor test for depth blits. 2007-04-10 21:39:32 +02:00
H. Verbeet 384ad311f3 wined3d: Disable the scissor test in stretch_rect_fbo. 2007-04-10 21:39:24 +02:00
H. Verbeet f0fcf7e133 wined3d: Remove some redundant IWineD3DSurface_PreLoad calls from stretch_rect_fbo. 2007-04-10 21:39:09 +02:00
H. Verbeet 112c3bf1c3 wined3d: Add some traces to stretch_rect_fbo. 2007-04-10 21:38:55 +02:00
H. Verbeet c9f82b9817 wined3d: Set the stream offset to 0 in DrawPrimitiveUP/DrawIndexedPrimitiveUP. 2007-04-09 12:41:35 +02:00
H. Verbeet 38082f2964 wined3d: Display the stream offset in GetStreamSource/SetStreamSource traces. 2007-04-09 12:41:26 +02:00
H. Verbeet 6fd820206a wined3d: Don't report render target formats we don't support as supported. 2007-04-09 12:41:17 +02:00
H. Verbeet 31663b9eca wined3d: Add some StretchRectFilterCaps. 2007-04-09 12:41:04 +02:00
H. Verbeet 75e91fa409 wined3d: Use the framebuffer blit extension to implement StretchRect. 2007-04-09 12:40:52 +02:00
H. Verbeet 70dd7ced99 wined3d: Separate attaching a surface to an FBO from set_render_target_fbo. 2007-04-09 12:39:59 +02:00
H. Verbeet 2e1e3d48f2 wined3d: Make bind_fbo a bit more generic. 2007-04-09 12:39:48 +02:00
H. Verbeet 75108443ff wined3d: Add a function to dump WINED3DTEXTUREFILTERTYPE values. 2007-04-09 12:39:35 +02:00
H. Verbeet c9b178b594 wined3d: Fixup FBO depth attachments when the depth attachment is larger than the render target. 2007-04-09 12:39:23 +02:00
H. Verbeet 3d4e054b55 wined3d: Handle FBO attachments slightly more efficiently. 2007-04-09 12:38:53 +02:00
Felix Nawothnig e600f7d082 wined3d: Issue an error when the render target is read back without SFLAG_INDRAWABLE being set. 2007-04-09 12:17:17 +02:00
Felix Nawothnig 2d0016c5bc wined3d: Preload target in ActivateContext() for ORM_BACKBUFFER/ORM_PBUFFER. 2007-04-09 12:17:07 +02:00
Felix Nawothnig c0782603d0 wined3d: Allow np2 textures to be loaded for SFLAG_INDRAWABLE. 2007-04-09 12:15:56 +02:00
Stefan Dösinger a9e04dd87f wined3d: Index buffer data is unsigned. 2007-04-07 10:58:25 +02:00
Stefan Dösinger 0899d85757 wined3d: Set WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD caps3 cap. 2007-04-07 10:58:17 +02:00
Stefan Dösinger 290f2eb146 wined3d: Add Filtering to IWineD3DSurface::Blt and handle it.
This is to allow StretchRect to pass the texture filter to WineD3D.
DirectDraw sets the texture filter to WINED3DTEXF_NONE, simmilar to all
other functions which do not need filtering.
2007-04-07 10:58:10 +02:00
Fabian Bieler dcd416edbe wined3d: Add GL_EXT_framebuffer_blit to extension handler. 2007-04-06 12:31:09 +02:00
Fabian Bieler 0ce39d5869 wined3d: Fix GLSL cnd instruction.
According to MSDN the cnd instruction should translate:
dst = src0 > 0.5 ? src1 : src2;
2007-04-05 10:55:00 +02:00
Fabian Bieler fd6395f0c7 wined3d: Fix UpdateSurface for sourceRect != sourceWidth. 2007-04-05 10:54:24 +02:00
Fabian Bieler 7df5deab23 wined3d: Add support for float texture formats back in. 2007-04-04 21:26:36 +02:00
Fabian Bieler 91df230624 wined3d: Fix GLSL cnd instruction for INF and NAN arguments. 2007-04-04 21:26:30 +02:00
Fabian Bieler 2843b0f929 wined3d: Fix GLSL cmp instruction for INF and NAN arguments. 2007-04-04 21:26:23 +02:00
Felix Nawothnig e3d3d1823d wined3d: Only issue state_patchsegments FIXME once. 2007-04-04 12:45:57 +02:00
Felix Nawothnig 413b9b2ad2 wined3d: Downgrade some ERRs to FIXMEs. 2007-04-04 12:45:49 +02:00
Francois Gouget 0081b430e1 Assorted spelling and English fixes. 2007-04-03 11:23:12 +02:00
Michael Ploujnikov 56391a3a85 wined3d: Remove DDBLT_WAIT fixme. 2007-04-02 12:05:24 +02:00
Stefan Dösinger 4f5d33311b wined3d: Use GL_APPLE_client_storage if available. 2007-04-02 11:34:12 +02:00
Stefan Dösinger f9ee2355d0 wined3d: Add GL_APPLE_client_storage to our extension list. 2007-04-02 11:30:04 +02:00
Felix Nawothnig c343fb1cdf wined3d: Make CreateCubeTexture fail when not supported. 2007-04-02 11:28:39 +02:00
Felix Nawothnig 18c9e5d5d0 wined3d: Use GL_TEXTURE_2D for dummy textures. 2007-03-30 11:25:23 +02:00
Felix Nawothnig 6760ccac1c wined3d: Fix broken ERR() message. 2007-03-30 11:25:02 +02:00
Felix Nawothnig 335f978e91 wined3d: Only disable GL_TEXTURE_CUBE_MAP_ARB if supported. 2007-03-30 11:24:56 +02:00
Fabian Bieler 333de16fb6 wined3d: Implement support for projective textures in ps 2.0 and later. 2007-03-29 21:15:29 +02:00
Jan Zerebecki 09e7791cba wined3d: Print lastpixel state fixme only once. 2007-03-28 12:43:14 +02:00
Stefan Dösinger 5e405d3b26 wined3d: Disable texture coordinate arrays on the correct unit. 2007-03-27 12:30:50 +02:00
Stefan Dösinger bee084503b wined3d: Implement bem shader instruction. 2007-03-27 12:30:38 +02:00
Stefan Dösinger 929116f23c wined3d: Handle input modifiers in texcrd with arb shaders. 2007-03-27 12:30:26 +02:00
Fabian Bieler e617c91f22 wined3d: Fix arb texbem instruction for projective textures. 2007-03-23 12:32:10 +01:00
Fabian Bieler 97967d3671 wined3d: Fix glsl texbem instruction for projective textures. 2007-03-23 12:31:35 +01:00
Fabian Bieler 4b3ac837aa wined3d: Implemented bump map transform for texbem in GLSL with native signed textures. 2007-03-23 12:31:27 +01:00
Fabian Bieler 878e02538e wined3d: Remove fog coordinate clamping in the vertex shader. 2007-03-23 12:30:58 +01:00
Fabian Bieler 7cedd56d24 wined3d: Implement linear fog with pixel shader. 2007-03-23 12:30:23 +01:00
Stefan Dösinger e25a16fda5 wined3d: General signed format correction without native signed formats.
Implement signed d3d formats for D3DFMT_V8U8 and D3DFMT_Q8W8V8U8 if no
suitable opengl signed format is supported.
2007-03-21 22:51:19 +01:00
Stefan Dösinger 2cdbd9a53d wined3d: Store the pixel format in the texture. 2007-03-21 22:50:49 +01:00
Stefan Dösinger ede01abee2 wined3d: Support GL_ATI_envmap_bumpmap for D3DFMT_V8U8. 2007-03-21 22:50:41 +01:00
Stefan Dösinger e213d7eff5 wined3d: Add GL_ATI_envmap_bumpmap to our gl extension header. 2007-03-21 22:50:30 +01:00
Vitaly Budovski f7b565e2ca wined3d: Check for float texture formats correctly.
Move the checks for float texture formats into the correct location.
This allows some Direct3D sample applications which check for any of
the float formats together with D3DUSAGE_RENDERTARGET to start.
2007-03-21 12:33:17 +01:00
Phil Costin 1f03896e00 wined3d: Ensure all states affected by a change in render_offscreen are marked dirty in ActivateContext. 2007-03-21 11:55:52 +01:00
Stefan Dösinger 90fe64cee0 wined3d: Store an array of contexts in the swapchain.
This is a preparation for using multiple contexts on one drawable to
handle multithreading.
2007-03-19 12:23:16 +01:00
Stefan Dösinger fcb83e7111 wined3d: Activate a context before doing opengl calls. 2007-03-19 12:22:57 +01:00
Stefan Dösinger 9789f993ce wined3d: Remove some old stuff. 2007-03-19 12:18:20 +01:00
Stefan Dösinger 65c447082a wined3d: Fix client gl unit selection.
I forgot that when re-enabling register combiners during the state
management rewrite.
2007-03-19 12:18:07 +01:00
Stefan Dösinger 022e884342 wined3d/ddraw: Forward DDSCL_MULTITHREADED to wined3d. 2007-03-19 12:17:18 +01:00
Andrew Talbot 2f5f3825c6 wined3d: Replace inline static with static inline. 2007-03-17 20:04:46 +01:00
Erich Hoover 01199072dd wined3d: Fix LockRect memory location calculation for WINED3DFMT_DXT*. 2007-03-17 19:51:34 +01:00
Stefan Dösinger 4b445124d3 direct3d: Add a fixed function fog test. 2007-03-15 12:14:50 +01:00
Stefan Dösinger 0b46254b57 wined3d: Blitting to offscreen target.
Fix the NULL deref that occured when blitting to offscreen targets and
select the proper gl drawing buffer instead.
2007-03-15 12:14:39 +01:00
Erich Hoover 9795e6839f wined3d: Allow SetCursorProperties on existing cursor. 2007-03-14 13:14:08 +01:00
Francois Gouget e11ca0a7fd wined3d: Remove space before '\n' in trace. 2007-03-14 12:10:47 +01:00
Stefan Huehner 4d1d01f266 Mark several functions as static. 2007-03-13 13:35:12 +01:00
András Kovács dac10f0da8 wined3d: Set WINED3DCAPS2_DYNAMICTEXTURES flag. 2007-03-13 12:08:23 +01:00
H. Verbeet 62fff2eab8 wined3d: Remove some redundant code in IWineD3DVertexBufferImpl_FindDecl(). 2007-03-13 11:56:18 +01:00
H. Verbeet 6998d0d472 wined3d: Remove a redundant check in handleStreams(). 2007-03-13 11:56:10 +01:00
H. Verbeet 05d461aee9 wined3d: Remove some redundant checks in the vertexdeclaration() state handler. 2007-03-13 11:56:02 +01:00
H. Verbeet 30ee071eb9 wined3d: Disable vertex shaders when transformed vertices are used. 2007-03-13 11:55:55 +01:00
H. Verbeet ee09e8bfd6 wined3d: Remove FVF related fields from IWineD3DVertexDeclaration. 2007-03-13 11:54:24 +01:00
H. Verbeet b22ca33a85 wined3d: 11 space indent is ugly. 2007-03-13 11:54:08 +01:00
H. Verbeet 23cd4475f6 wined3d: Correct various texture limits checks. 2007-03-13 11:53:28 +01:00
Fabian Bieler 8dae597f24 wined3d: Implemented signed texture formats via NV_TEXTURE_SHADER. 2007-03-13 11:51:56 +01:00
Fabian Bieler 89843f2c27 wined3d: Set wrapmode for cubemags to clamp regardless of the sampler state. 2007-03-13 11:51:35 +01:00
Fabian Bieler a2808903b1 wined3d: Height of rectangle is bottom - top, not vice versa. 2007-03-12 13:49:58 +01:00
Stefan Dösinger eba060463d wined3d: Account for offscreen rendering when setting up the clearing scissor rectangle. 2007-03-12 12:02:20 +01:00
Stefan Dösinger 603e7933ea wined3d: Blit the offscreen texture into the drawable if needed.
When using pbuffer or back buffer offscreen rendering the content of
the drawable will have been overwritten. Thus the texture has to be
written into the drawable. An exception is the (pretty common) case
that the whole render target is cleared before rendering to it.
2007-03-12 12:02:05 +01:00
Stefan Dösinger 850bd7b414 wined3d: Restore the index buffer when switching from UP to buffer drawing.
The state handler binds index buffer 0 when a user pointer is used. Likewise the real index
buffer has to be restored when switching back to drawing from index buffers.
2007-03-12 12:01:45 +01:00
H. Verbeet fc5f36f037 wined3d: Fix IWineD3DPixelShader_GetFunction / IWineD3DVertexShader_GetFunction. 2007-03-08 11:58:50 +01:00
Michael Stefaniuc 719a02856d janitorial: Remove two redundant checks for NULL. 2007-03-08 11:58:09 +01:00
Stefan Dösinger c54a0fc2cf wined3d: Rework surface dirtification.
Previously the surfaces stored a flag if the system memory copy was
ahead of the gl copy(SFLAG_DIRTY) or the gl copy is
ahead(SFLAG_GLDIRTY). The pbuffer copy was 'managed' differently using
SFLAG_INPBUFFER and SFLAG_INTEXTURE.

This patch replaces them with 3 flags, INSYSMEM, INPBUFFER and
INTEXTURE which specify which copy contains the most up to date
copy. It is perfectly valid to have more than one of those flags
set. One must be set at least (except at init, when no content is in
the surface yet). When one copy is modified, the flags for the others
are removed.
2007-03-07 12:18:14 +01:00
Stefan Dösinger ebe274feed wined3d: Remove IWineD3DSurface::SetPBufferState.
The method is removed because it does not really help with
anything. It should not be exported from wined3d, there is no need for
the other libs to call it. It does not help abstraction and code
simplification in any way because it is very specific and the code
calling it has to know what is happening in the surface to use this
method.
2007-03-07 12:17:33 +01:00
H. Verbeet 2384bdde9d wined3d: Remove broken software shaders. 2007-03-07 11:52:17 +01:00
H. Verbeet 318fb2987c wined3d: Fix a typo. 2007-03-07 11:47:54 +01:00
Stefan Dösinger 81aeae3249 wined3d: Do not specify the viewport origin upside down when doing offscreen rendering.
The gl viewport origin is the lower left corner of the window, in d3d
it is the upper right corner. This is corrected when setting the
viewport. However, when we are doing offscreen rendering, this is
reversed. So do not flip the viewport origin when rendering offscreen.
2007-03-06 22:17:28 +01:00
Stefan Dösinger 6886b237ad wined3d: Disable depth stencil related states without a depth stencil buffer.
Except with fbos, it is not possible to remove the depth stencil
buffer from the opengl frame buffer, so when the d3d app sets a NULL
depth stencil disable all states that work with the depth stencil
buffer.
2007-03-06 22:17:15 +01:00
Stefan Dösinger 5f159452ef wined3d: Clearing the depth stencil buffer fails without a depth stencil buffer. 2007-03-06 22:17:03 +01:00
Stefan Dösinger daeffc897b wined3d: Use an aux buffer as blitting helper if available.
This helps performance a bit because the function does not have to
wait for the 2nd read to finish before returning. Only do that if we
have an aux buffer to mess with for free though.
2007-03-06 22:16:44 +01:00
Stefan Dösinger 5f05906f3b wined3d: Store the number of aux buffers in the gl limits structure. 2007-03-06 22:16:25 +01:00
Stefan Dösinger ae57138eae wined3d: WINED3DFMT_U8V8 is signed.
Plain OpenGL does not provide any signed pixel formats, so the
unsigned GL_RGB is used for loading perturbation data into pixel
shaders that use texbem. For correct loading, the signedness has to be
considered.
2007-03-06 22:16:12 +01:00
Stefan Dösinger e0a271ee0c wined3d: Adjust the rhw transformation for offscreen rendering. 2007-03-06 22:15:57 +01:00