Wine 1.1.43 Brings Many Direct3D Fixes, Optimizations

Written by Michael Larabel in WINE on 16 April 2010 at 03:07 PM EDT. 30 Comments
Recent releases of Wine have tackled Direct3D improvements among other enhancements in this popular free software project and Wine 1.1.43 has been released this afternoon to offer up more Direct3D love.

Wine 1.1.43 has "many Direct3D fixes and optimizations" according to the release announcement. There's also a number of new Wine icons, improved support for alpha channel in bitmaps, more complete msvcr80/90 implementations, a number of 64-bit fixes, and various bug-fixes.

For those interested, below is a list of the Direct3D changes found in Wine 1.1.43 that have come about over the past two weeks.

wined3d: Move palette uploading code over to arbfp blit_shader.
wined3d: Move EXT_PALETTED_TEXTURE code over to ffp_blit.
wined3d: Disable paletted texture support. It was only offered on a few cards, so can be missed.
wined3d: Disable framebuffer to texture blitting.
wined3d: Move the arbfp p8 fixup to the format table and get rid of the d3dfmt_get_conv override.
wined3d: Due to code rewrites is_color_fixup_supported is not needed anymore in RealizePalette.
wined3d: Turn blit_shader color_fixup_supported into blit_supported.
wined3d: Remove redundant gl format/type code from d3dfmt_get_conv since it is already in the table.
wined3d: Only apply float R16G16F/R32G32F fixup when ARB_texture_rg isn't around and remove redundant code.
wined3d: Remove remaining redundant code from d3dfmt_get_conv.
wined3d: Let d3dfmt_get_conv return a wined3d_format_desc.
wined3d: Move srgb checks away from d3dfmt_get_conv.
wined3d: Start moving texture format fixups to the formats table.
wined3d: Move Q8W8V8U8 conversion to the format table.
wined3d: Move X8L8V8U8 surface conversion to the format table.
wined3d: Add an initial fbo_blit_supported implementation.
wined3d: Add an initial implementation of arbfp_blit_surface.
winex11: Add support for 32-bit DDBs.
wined3d: Move L6V5U5 conversion to the formats table.
wined3d: Move D24FS8 to formats table.
wined3d: Move D24X4S4 to the formats table.
wined3d: Move D15S1 over to the formats table.
wined3d: Move R32G32F convertion to the formats table.
wined3d: Move G16R16/R16G16F conversion to the formats table.
wined3d: Move A4L4 conversion to the formats table.
wined3d: Separate detection of D3D10+ and D3D9 Nvidia GPUs.
d3d9: Add an initial ColorFill regression test.
wined3d: Improve FBO support in ClearSurface.
wined3d: Add BLT_OP_COLOR_FILL to blit_supported and use it in BltOverride.
wined3d: Remove temporary conv_byte_count fixup from d3dfmt_get_conv.
wined3d: Remove call to d3dfmt_get_conv from read_from_framebuffer_texture.
wined3d: We don't need color keying for sysmem->drawable uploads.
wined3d: Remove paletteOverride from BltOverride offscreen->render_target blit.
wined3d: Separate AMD Radeon HD2300 from other HD2xxx/HD3xxx GPUs since it is D3D9 instead of D3D10.
wined3d: Separate AMD GPUs in D3D9 and D3D10 models, this allows for a more correct fall back when the GPU table isn't up to date.wined3d: Add a separate function for wined3d object initialization.
wined3d: Simply inline dumpResources().
wined3d: Make some functions static.
wined3d: Rename some GL vendors.
d3d8/tests: Use color_match() in test_rcp_rsq().
d3d8/tests: Clear with colors that are more obviously different from the expected value in test_rcp_rsq().
wined3d: Don't use GLSL if the supported version isn't at least 1.20.
wined3d: Capture the correct scissor rectangle.
ddraw: Fix and clarify texture filter state mappings.
quartz: Don't return a pointer to a stack variable in AMFilterData_ParseFilterData().
wined3d: Pass the correct window to Present() in IWineD3DSurfaceImpl_BltOverride().
wined3d: Pass the correct window to Present() in IWineD3DSurfaceImpl_Flip().
wined3d: Pass the correct window to Present() in IWineGDISurfaceImpl_Flip().
wined3d: Add a separate function for adding declaration elements in ConvertFvfToDeclaration().
wined3d: Add an extensionless STATE_INDEXBUFFER handler.
wined3d: Get rid of state_nogl().
wined3d: Update shader constants on viewport changes.
wined3d: Validate some more states.
wined3d: Add a FIXME for predicated shader instructions.
d3d9/tests: Add some depth buffer tests.
d3d8/tests: Add some depth buffer tests.
wined3d: Fix a GL extension prototype.
wined3d: Don't write past the end of the buffer's conversion_map.
winex11.drv: Allow OpenGL on minimized windows.
wined3d: Add a separate function for rendertarget view initialization.
wined3d: Add a separate function for palette initialization.
wined3d: Disable strict draw ordering by default.
wined3d: We always support at least a single modelview matrix.
wined3d: Prune unsupported world matrix transform states.
wined3d: Get rid of glRect from IWineD3DSurfaceImpl.
wined3d: The currentDesc and pow2 width/height are the same for power of two textures.
wined3d: Get rid of the width and height parameters to surface_allocate_surface().
wined3d: Get rid of the width and height parameters to surface_upload_data().
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_apply_attachment_filter_states().
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_attach_surface_fbo().
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_attach_depth_stencil_fbo().
wined3d: Store render target attachments as IWineD3DSurfaceImpl pointers in struct fbo_entry.
wined3d: Store the depth/stencil attachment as IWineD3DSurfaceImpl pointer in struct fbo_entry.
wined3d: Remove some dead code from IWineD3DDeviceImpl_Uninit3D().
wined3d: Allow offscreen depth/stencil clears again with FBOs.
d3dx9_36: Add stub for D3DXCheckTextureRequirements.
d3dx9_36: Add definitions for ID3DXBaseMesh and ID3DXMesh interfaces.
d3dx9_36: Add stub for D3DXCreateBox.
d3dx9_36: Improve FIXMEs and TRACEs for surface.
d3dx9_36: Forward D3DXCreateTextureFromFileExW to D3DXCreateTextureFromFileInMemoryEx.
d3dx9_36: Add stub for D3DXCreateTextureFromFileA.
d3dx9_36: Fix indentation.
d3dx9_36: Implement D3DXGetImageInfoFromFileInMemory using WindowsCodecs (based on work from Tony Wasserka).
d3dx9_36: Add support for 32-bit BGRA in D3DXGetImageInfoFromFileInMemory.
d3dxof: Add support for mszip compressed files.
d3dx9_36/tests: Move surface tests into surface.c.
d3dx9_36: Check wnd just after CreateWindow. Remove useless wnd check before calling DestroyWindow.
d3d10: Fix an ERR message in parse_fx10_body().
d3d10: Move the effect shader input signature into a separate struct.
d3d10: Implement ID3DEffectVariable::GetInputSignatureElementDesc().
d3d10: Implement ID3DEffectVariable::GetOutputSignatureElementDesc().
wined3d: Remove unused offset parameter in buffer_get_memory.
d3d8: Avoid using a pointer difference in a trace.
d3dx9_36: Don't include the bison-generated header from the bison source file.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week