Commit Graph

4938 Commits

Author SHA1 Message Date
Henri Verbeet 75c8e9f7b4 wined3d: Use EXT_texture_sRGB_decode to avoid sRGB texture duplication. 2011-03-03 17:47:13 +01:00
Henri Verbeet a97c1ad15e wined3d: Add support for EXT_texture_sRGB_decode. 2011-03-03 17:47:13 +01:00
Henri Verbeet 09c3537ad0 wined3d: Retrieve the GL texture through a function. 2011-03-03 17:47:13 +01:00
Henri Verbeet d523dee76b wined3d: Retrieve the surface's texture name through a function. 2011-03-02 12:50:59 +01:00
Henri Verbeet ddc7a803e9 wined3d: Standalone surfaces should never be sRGB. 2011-03-02 12:50:59 +01:00
Henri Verbeet fe425a2f23 wined3d: Use basetexture_set_dirty() in some more places. 2011-03-02 12:50:59 +01:00
Henri Verbeet 7b2274dff1 wined3d: The basetexture_set_dirty() return value is never used. 2011-03-02 12:50:59 +01:00
Henri Verbeet ff8c79e45b wined3d: Recognize some Nouveau renderer strings. 2011-03-01 13:21:59 +01:00
Henri Verbeet 02fa8bf013 wined3d: Rename ATI to AMD. 2011-03-01 13:21:59 +01:00
Henri Verbeet 1de6adfbae wined3d: Make IWineD3DResourceImpl an independent structure. 2011-03-01 13:21:59 +01:00
Henri Verbeet 1674ca1ebd wined3d: Pass const resources to some resource functions. 2011-03-01 13:21:58 +01:00
Henri Verbeet 39497ff4d1 wined3d: Remove IWineD3DResource::UnLoad() from the public interface. 2011-02-28 11:09:48 +01:00
Henri Verbeet 1da773ff4d wined3d: Merge device_unload_resource() and reset_unload_resources(). 2011-02-28 11:09:38 +01:00
Henri Verbeet 14050e125d wined3d: Recognize some Northern Islands cards in select_card_ati_mesa(). 2011-02-28 11:09:35 +01:00
Henri Verbeet d9d2fe31e3 wined3d: Filter sRGB capabilities during format initialization. 2011-02-28 11:09:25 +01:00
Matteo Bruni 75386a99b4 wined3d: Make clip planes independent from offscreen/onscreen drawing. 2011-02-15 17:24:26 +01:00
Gerald Pfeifer 54d98ba791 wined3d: Remove an old hack around Mesa choking on protected memory from flush_to_framebuffer_drawpixels. 2011-02-14 13:33:30 +01:00
Henri Verbeet 14c3387fc2 wined3d: Get rid of the IWineD3DQuery typedefs. 2011-02-04 15:25:32 +01:00
Henri Verbeet a5fe3610ad wined3d: Remove COM from the query implementation. 2011-02-04 15:25:32 +01:00
Henri Verbeet 831a29d250 wined3d: Use an internal call table for query operations. 2011-02-04 15:25:31 +01:00
Henri Verbeet b59dc811e2 wined3d: Get rid of the IWineD3DClipper typedefs. 2011-02-04 15:25:31 +01:00
Henri Verbeet 304d713860 wined3d: Remove COM from the clipper implementation. 2011-02-04 15:25:31 +01:00
Henri Verbeet e1815f5e3b wined3d: Get rid of the IWineD3DPalette typedefs. 2011-02-03 13:15:17 +01:00
Henri Verbeet 5963483fc2 wined3d: Remove COM from the palette. 2011-02-03 13:15:17 +01:00
Henri Verbeet fe3cfb3e8e wined3d: Get rid of the IWineD3DVertexDeclaration typedefs. 2011-02-03 13:15:17 +01:00
Henri Verbeet 5765632d9f wined3d: Remove COM from the vertex declaration. 2011-02-03 13:15:17 +01:00
Henri Verbeet 074977d404 wined3d: Get rid of the IWineD3D typedefs. 2011-02-02 12:22:53 +01:00
Henri Verbeet 36d4268e3c wined3d: Remove COM from IWineD3D. 2011-02-02 12:22:42 +01:00
Henri Verbeet 1fd7c96a31 wined3d: Make volumetexture_ops static. 2011-02-02 12:21:23 +01:00
Henri Verbeet ddb36691f6 wined3d: Pass a const adapter to the format caps checking functions. 2011-02-01 12:01:18 +01:00
Henri Verbeet 4c30b82c83 wined3d: Just fail if the texture type is not supported in create_glsl_blt_shader() (LLVM/Clang).
Changing the texture type has no effect at this point, and it wouldn't work
properly anyway.
2011-02-01 12:01:10 +01:00
Henri Verbeet 96d225d4dd wined3d: Get rid of the IWineD3DStateBlockImpl typedef. 2011-01-31 12:25:05 +01:00
Henri Verbeet b98cd5d982 wined3d: Get rid of the IWineD3DStateBlock typedef. 2011-01-31 12:25:01 +01:00
Henri Verbeet 4b109ff1f8 wined3d: Remove COM from the stateblock. 2011-01-31 12:24:58 +01:00
Henri Verbeet a538d28f28 wined3d: Set color / depth / stencil surfaces to NULL before releasing them in IWineD3DDeviceImpl_Uninit3D(). 2011-01-31 12:24:55 +01:00
Stefan Reimer 1c25577873 wined3d: Adding AMD HD5670, HD5570, HD5550, HD5450 detection. 2011-01-28 17:23:57 +01:00
Henri Verbeet 1b726498ed wined3d: Set all render targets to NULL in IWineD3DDeviceImpl_Uninit3D(). 2011-01-28 11:58:06 +01:00
Henri Verbeet c964134a59 wined3d: Add support for the NULL format. 2011-01-27 14:13:55 +01:00
Henri Verbeet 2469597e2a wined3d: Verify we have at least one framebuffer attachment before doing clears or draws. 2011-01-27 14:13:39 +01:00
Henri Verbeet 7438e42f1a wined3d: Do checks at the start of surface_init() (LLVM/Clang). 2011-01-26 15:00:12 +01:00
Henri Verbeet 91ac0c37b1 wined3d: Disable vertex shader output clamping.
It looks like NV50+ hardware gets you infinities and NaN's in D3D as well for
most things, so we should only need special handling for pow and nrm.
2011-01-25 12:32:38 +01:00
Henri Verbeet a50546e563 wined3d: Use dot() instead of length() in shader_glsl_nrm().
As Eric Anholt pointed out, using length() here is suboptimal. It essentially
translates into "inversesqrt(dot(x, x));", but needs to handle the case of
zero-length vectors, much like nrm.
2011-01-24 14:43:26 +01:00
Henri Verbeet 010e285b88 wined3d: WINED3DFMT_INTZ is a FOURCC format.
This is mostly for consistency, in practice ddraw code is never going to use
this format.
2011-01-24 14:43:26 +01:00
Henri Verbeet 4891ca168e wined3d: Remove IWineD3DSurface::DrawOverlay() from the public interface. 2011-01-24 14:43:26 +01:00
Henri Verbeet 05603c4568 wined3d: Remove IWineD3DSurface::RealizePalette() from the public interface. 2011-01-24 14:43:26 +01:00
Henri Verbeet 1eefb46a57 wined3d: Remove IWineD3DVolume::LoadTexture() from the public interface. 2011-01-21 18:37:11 +01:00
Henri Verbeet ce050c89de wined3d: Get rid of IWineD3DSurface::GetData(). 2011-01-21 18:37:09 +01:00
Henri Verbeet 0b7fef751e wined3d: Remove IWineD3DSurface::LoadTexture() from the public interface. 2011-01-21 18:37:06 +01:00
Henri Verbeet 629d81b192 wined3d: Remove IWineD3DSurface::BindTexture() from the public interface. 2011-01-21 18:37:04 +01:00
Henri Verbeet 227efbbf65 wined3d: Store a pointer to an array of IWineD3DSwapChainImpl pointers in the device. 2011-01-20 12:19:04 +01:00
Henri Verbeet 6f95f05aaf wined3d: Move swapchain context retrieval to swapchain.c. 2011-01-20 12:18:58 +01:00
Henri Verbeet f250ee66a3 wined3d: Pass an IWineD3DSwapChainImpl pointer to findThreadContextForSwapChain(). 2011-01-19 12:22:41 +01:00
Henri Verbeet b439fa9d8f wined3d: Pass an IWineD3DSwapChainImpl pointer to swapchain_create_context_for_thread(). 2011-01-19 12:22:38 +01:00
Henri Verbeet 237cdefe7f wined3d: Pass an IWineD3DVolumeImpl pointer to volume_bind_and_dirtify(). 2011-01-19 12:22:34 +01:00
Henri Verbeet ace5f8e60e wined3d: Pass an IWineD3DVolumeImpl pointer to volume_add_dirty_box(). 2011-01-19 12:22:31 +01:00
Henri Verbeet d91a413ade wined3d: Store an IWineD3DClipperImpl pointer in IWineD3DSurfaceImpl. 2011-01-18 12:32:10 +01:00
Henri Verbeet 098cdf4ae3 wined3d: Store an IWineD3DResourceImpl pointer in struct wined3d_rendertarget_view. 2011-01-18 12:32:06 +01:00
Henri Verbeet e42e5247dd wined3d: Pass an IWineD3DResourceImpl pointer to wined3d_rendertarget_view_init(). 2011-01-18 12:32:01 +01:00
Henri Verbeet 2ceb2a8cdd wined3d: Pass an IWineD3DResourceImpl pointer to context_resource_unloaded(). 2011-01-18 12:31:58 +01:00
Stefan Dösinger e98a0e5bb1 wined3d: Don't set cube and volume POW2 caps if np2 textures are supported. 2011-01-17 17:33:36 +01:00
Henri Verbeet c28d6f38af wined3d: Pass an IWineD3DResourceImpl pointer to context_resource_released(). 2011-01-17 13:22:06 +01:00
Henri Verbeet 834b599e19 wined3d: Pass an IWineD3DResourceImpl pointer to device_resource_released(). 2011-01-17 13:22:06 +01:00
Henri Verbeet 852ac57db6 wined3d: Pass an IWineD3DResourceImpl pointer to device_resource_add(). 2011-01-17 13:22:06 +01:00
Henri Verbeet 2ad540cea5 wined3d: Pass an IWineD3DResourceImpl pointer to device_resource_remove(). 2011-01-17 13:22:06 +01:00
Matteo Bruni ef0f358813 wined3d: Don't call glPointParameter with a random context. 2011-01-07 15:01:38 +01:00
Henri Verbeet c117248bd1 wined3d: Pass an IWineD3DResourceImpl pointer to resource_get_type(). 2011-01-07 10:23:37 +01:00
Henri Verbeet 7e67bcedfd wined3d: Pass an IWineD3DResourceImpl pointer to resource_set_priority(). 2011-01-07 10:23:25 +01:00
Henri Verbeet 2d9748b1e3 wined3d: Pass an IWineD3DResourceImpl pointer to resource_get_priority(). 2011-01-07 10:23:21 +01:00
Henri Verbeet a80749fd57 wined3d: Pass an IWineD3DResourceImpl pointer to resource_set_private_data(). 2011-01-07 10:23:17 +01:00
Henri Verbeet 92e439b0f0 wined3d: Pass an IWineD3DResourceImpl pointer to resource_get_private_data(). 2011-01-06 11:33:33 +01:00
Henri Verbeet a97ae0db6a wined3d: Pass an IWineD3DResourceImpl pointer to resource_free_private_data(). 2011-01-06 11:33:29 +01:00
Henri Verbeet 134137cdb4 wined3d: Pass an IWineD3DResourceImpl pointer to resource_cleanup(). 2011-01-06 11:33:24 +01:00
Henri Verbeet 7080922e0e wined3d: Pass an IWineD3DResourceImpl pointer to resource_init(). 2011-01-06 11:33:19 +01:00
Henri Verbeet d72520b5cc wined3d: Remove IWineD3DBaseTexture::BindTexture() from the public interface. 2011-01-05 17:22:01 +01:00
Henri Verbeet f9a1e8813e wined3d: Pass an IWineD3DDeviceImpl pointer to create_primary_opengl_context(). 2011-01-05 17:21:47 +01:00
Henri Verbeet 7e0909d058 wined3d: Pass an IWineD3DDeviceImpl pointer to delete_opengl_contexts(). 2011-01-05 17:21:37 +01:00
Henri Verbeet e5d1a0c72d wined3d: Use surface_modify_location() to manipulate location flags in IWineD3DSurfaceImpl_Unmap().
Directly setting SFLAG_INFRAWABLE breaks for offscreen render targets, where
the drawable and texture are the same thing. Before commit
d3fd7b247b the explicit load of the texture
location with the default RTL_READTEX render target lock mode would have
prevented the flags from becomming inconsistent.
2011-01-05 17:21:28 +01:00
Henri Verbeet 3a59137b09 wined3d: Pass an IWineD3DBaseTextureImpl pointer to internal_preload(). 2011-01-04 11:09:52 +01:00
Henri Verbeet a2c81adae1 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_apply_state_changes(). 2011-01-04 11:09:49 +01:00
Henri Verbeet 32779a2232 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_bind(). 2011-01-04 11:09:47 +01:00
Henri Verbeet bf108ac872 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_generate_mipmaps(). 2011-01-04 11:09:45 +01:00
Alexandre Julliard 8cbc6efdca Revert "wined3d: Update detection of vertex blend capabilities."
This reverts commit f41fdb225c.
It's wrong and was committed by mistake.
2011-01-03 19:32:48 +01:00
Jeremy Chin f41fdb225c wined3d: Update detection of vertex blend capabilities. 2011-01-03 11:54:05 +01:00
Henri Verbeet 9de4433dbe wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_get_autogen_filter_type(). 2011-01-03 11:54:05 +01:00
Henri Verbeet 568f9ecb22 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_set_autogen_filter_type(). 2011-01-03 11:54:04 +01:00
Henri Verbeet 54e1aeeb62 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_get_lod(). 2011-01-03 11:54:04 +01:00
Henri Verbeet 482a5fd030 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_set_lod(). 2011-01-03 11:54:04 +01:00
Andrew Nguyen 12880784fe wined3d: Handle the swapchain presentation interval with wglSwapIntervalEXT. 2010-12-27 15:39:41 +01:00
Andrew Nguyen 0f050b3ecb wined3d: Fix typo in GL_SGIS_generate_mipmap preprocessor definition. 2010-12-27 15:39:41 +01:00
Andrew Nguyen 7e13b1afaf wined3d: Remove references to GLX_SGI_video_sync.
Usage of GLX_SGI_video_sync is problematic, and wined3d cannot use GLX extensions.
2010-12-27 15:39:41 +01:00
Rico Schüller 5b985bcb03 wined3d: Fix memset size in IWineD3DVolumeImpl_Unmap. 2010-12-20 12:47:38 +01:00
Henri Verbeet f5d96d1701 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_get_level_count(). 2010-12-16 11:50:09 +01:00
Henri Verbeet 2438968c34 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_cleanup(). 2010-12-16 11:50:09 +01:00
Henri Verbeet 47fcc00cce wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_unload(). 2010-12-16 11:50:09 +01:00
Henri Verbeet 7bc7caf423 wined3d: Pass an IWineD3DBaseTextureImpl array to pixelshader_update_samplers(). 2010-12-16 11:50:09 +01:00
Henri Verbeet bd2e7aedcf wined3d: Store an IWineD3DBaseShaderImpl pointer in wined3d_shader_context. 2010-12-15 11:55:22 +01:00
Henri Verbeet 2f36d600ef wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_generate_main(). 2010-12-15 11:55:19 +01:00
Henri Verbeet 51f06dcf0c wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_get_registers_used(). 2010-12-15 11:55:16 +01:00
Henri Verbeet c492ec196e wined3d: Pass implementation pointers to get_glsl_program_entry(). 2010-12-15 11:55:13 +01:00
Henri Verbeet d6446c7a97 wined3d: Store implementation pointers in glsl_program_key_t. 2010-12-14 11:38:42 +01:00
Henri Verbeet dd1ba15ec7 wined3d: Store implementation pointers in struct glsl_shader_prog_link. 2010-12-14 11:38:39 +01:00
Henri Verbeet b0bc24eec3 wined3d: Pass implementation pointers to generate_param_reorder_function(). 2010-12-14 11:38:37 +01:00
Henri Verbeet 77beea98b9 wined3d: Avoid some interface pointers in set_glsl_shader_program(). 2010-12-14 11:38:34 +01:00
Henri Verbeet bbbab10c8e wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_cleanup(). 2010-12-13 16:24:27 +01:00
Henri Verbeet fe2ffe1e6a wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_destroy(). 2010-12-13 16:24:23 +01:00
Henri Verbeet 97ca0e6863 wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_generate_glsl_declarations(). 2010-12-13 16:24:19 +01:00
Henri Verbeet 8ea7d1ef71 wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_generate_arb_declarations(). 2010-12-13 16:24:15 +01:00
Henri Verbeet 0e3c60786e wined3d: Explicitly pass gl_info to unset_shader(). 2010-12-10 13:02:26 +01:00
Henri Verbeet ae7a20af2f wined3d: Explicitly pass blit_priv and gl_info to set_shader(). 2010-12-10 13:02:24 +01:00
Henri Verbeet 0caed0a771 wined3d: Explicitly pass blit_priv and gl_info to gen_p8_shader(). 2010-12-10 13:02:22 +01:00
Henri Verbeet fa75517155 wined3d: Explicitly pass blit_priv and gl_info to gen_yuv_shader(). 2010-12-10 13:02:19 +01:00
Henri Verbeet 7f09eb6a7a wined3d: Pass an IWineD3DDeviceImpl pointer to free_private(). 2010-12-09 12:14:31 +01:00
Henri Verbeet 4ba3b64c57 wined3d: Pass an IWineD3DDeviceImpl pointer to alloc_private(). 2010-12-09 12:14:25 +01:00
Henri Verbeet a3b2407824 wined3d: Remove IWineD3DBaseTexture::SetDirty() from the public interface. 2010-12-09 12:14:19 +01:00
Henri Verbeet 4dd3066ea3 wined3d: Remove the unused IWineD3DBaseTexture::GetDirty() method. 2010-12-09 12:14:11 +01:00
Henri Verbeet b5637a934e wined3d: Store an IWineD3DDeviceImpl pointer in IWineD3DBaseShaderClass. 2010-12-08 11:27:49 +01:00
Henri Verbeet 018a48493b wined3d: Remove a redundant SetDirty() call from IWineD3DSurfaceImpl_Map().
The surface_add_dirty_rect() call already does this.
2010-12-08 11:27:44 +01:00
Henri Verbeet 5fc53941ef wined3d: Pass a wined3d_buffer structure to buffer_get_memory(). 2010-12-08 11:27:40 +01:00
Henri Verbeet 46f3cc9df6 wined3d: Don't leak heapMemory in surface_remove_pbo(). 2010-12-08 11:27:34 +01:00
Henri Verbeet cd30e9562c wined3d: Explicitly pass gl_info to shader_arb_generate_pshader(). 2010-12-07 11:33:27 +01:00
Henri Verbeet 202a60c489 wined3d: Explicitly pass gl_info to shader_arb_generate_vshader(). 2010-12-07 11:33:25 +01:00
Henri Verbeet db164a990c wined3d: Rename shader_reg_maps to wined3d_shader_reg_maps.
For consistency with other shader translation structures.
2010-12-07 11:33:23 +01:00
Henri Verbeet 78652a5fe8 wined3d: Explicitly pass shader_data, reg_maps and gl_info to vshader_add_footer(). 2010-12-06 12:21:35 +01:00
Henri Verbeet e9ff40d918 wined3d: Use local reg_maps variables where possible. 2010-12-06 12:21:31 +01:00
Henri Verbeet 0405733ff7 wined3d: Explicitly pass shader_data and reg_maps to reserved_vs_const(). 2010-12-06 12:21:27 +01:00
Henri Verbeet a564101630 wined3d: Explicitly pass shader_data and reg_maps to need_helper_const(). 2010-12-06 12:21:24 +01:00
Henri Verbeet 6a646ac25d wined3d: shader_get_registers_used() is only called during shader initialization. 2010-12-03 11:04:39 +01:00
Henri Verbeet 8c1e326e3c wined3d: Explicitly pass shader_data and reg_maps to need_rel_addr_const(). 2010-12-03 11:04:36 +01:00
Henri Verbeet e43cd744b6 wined3d: need_rel_addr_const() is only ever called for vertex shaders. 2010-12-03 11:04:32 +01:00
Henri Verbeet fe47ba8fa2 wined3d: Move the rel_offset vertex shader field to the ARB shader backend. 2010-12-03 11:04:28 +01:00
Henri Verbeet b72b037128 wined3d: Properly initialize min_rel_offset.
This somehow got lost in 14da44aa36.
2010-12-03 11:04:22 +01:00
Henri Verbeet 03d7f527cf wined3d: Move min_rel_offset / max_rel_offset to the shader_reg_maps structure. 2010-12-02 11:54:20 +01:00
Henri Verbeet a4477fea4a wined3d: Pass an IWineD3DDeviceImpl pointer to free_private(). 2010-12-02 11:54:15 +01:00
Henri Verbeet 6b9118e462 wined3d: Pass an IWineD3DDeviceImpl pointer to alloc_private(). 2010-12-02 11:54:10 +01:00
Henri Verbeet 00550613e7 wined3d: Remove a redundant parameter to enable_extension(). 2010-12-02 11:54:03 +01:00
Henri Verbeet f92a0667d7 wined3d: Remove a unused parameter to shader_dirtifyable_constants(). 2010-12-02 11:53:57 +01:00
Henri Verbeet f45aeb4abe wined3d: Pass an IWineD3DDeviceImpl pointer to shader_free_private(). 2010-12-01 11:09:08 +01:00
Henri Verbeet 4a69874938 wined3d: Pass an IWineD3DDeviceImpl pointer to shader_alloc_private(). 2010-12-01 11:09:02 +01:00
Henri Verbeet 77923346da wined3d: Pass an IWineD3DDeviceImpl pointer to shader_update_float_pixel_constants(). 2010-12-01 11:08:57 +01:00
Henri Verbeet 4a6d0da207 wined3d: Pass an IWineD3DDeviceImpl pointer to shader_update_float_vertex_constants(). 2010-12-01 11:08:51 +01:00
Henri Verbeet fad461eefa wined3d: Move the PrivateData structure to resource.c. 2010-12-01 11:08:39 +01:00
Henri Verbeet 7363b0e98a wined3d: Explicitly pass data and gl_info to shader_deselect_depth_blt(). 2010-11-30 10:57:23 +01:00
Henri Verbeet 93a824d744 wined3d: Explicitly pass data and gl_info to shader_select_depth_blt(). 2010-11-30 10:57:17 +01:00
Henri Verbeet 363d8a316e wined3d: Pass an IWineD3DDeviceImpl pointer to drawPrimitive(). 2010-11-30 10:57:10 +01:00
Henri Verbeet 6476ef599d wined3d: Pass an IWineD3DDeviceImpl pointer to drawStridedSlow(). 2010-11-30 10:57:01 +01:00
Marcus Meissner 5d657bfdba wined3d: Detect nouveau as NVIDIA. 2010-11-29 19:43:35 +01:00
Christian Inci 4229b1f3b6 wined3d: Add nVidia GT 320M to the table. 2010-11-26 14:58:39 +01:00
Austin English 90f428cd85 wined3d: Add detection for Nvidia GT 330. 2010-11-23 14:16:21 +01:00
Henri Verbeet a147fd9c36 wined3d: Fix the indentation in buffer_direct_upload(). 2010-11-23 13:15:39 +01:00
Henri Verbeet 03f7a2d88e wined3d: Get rid of the remaining "Flags". 2010-11-23 13:15:36 +01:00
Henri Verbeet b459b917fb wined3d: Textures never have a resource size.
They're just containers for their subresources.
2010-11-23 13:15:32 +01:00
Henri Verbeet 4f651808fc wined3d: Disallow empty surfaces. 2010-11-18 12:37:36 +01:00
Henri Verbeet faba8d734d wined3d: Send a notification that the GL texture changed in flip_surface().
Strictly speaking the texture doesn't get unloaded, but it does get associated
with a different surface. The FBO cache in particular is much happier when it
gets notified of these.
2010-11-17 14:01:14 +01:00
Henri Verbeet fadd192cba wined3d: buffer_get_sysmem() potentially invalidates the current element array buffer binding.
This fixes a regression introduced by commit
2a7a237170.
2010-11-16 13:48:46 +01:00
Henri Verbeet 4dc28005eb wined3d: Remove a redundant flag in IWineD3DSurfaceImpl_SetMem(). 2010-11-16 13:48:42 +01:00
Henri Verbeet 745126b05d wined3d: Properly recreate the sysmem resource location in IWineD3DSurfaceImpl_SetMem().
Otherwise we could end up with surfaces that have SFLAG_INSYSMEM set, but no
actual system memory allocated. This was exposed by
3bbe658ef1.
2010-11-15 15:04:41 +01:00
Henri Verbeet 44b9712cd6 wined3d: Add a trace to IWineD3DSurfaceImpl_SetMem(). 2010-11-15 15:04:36 +01:00
Henri Verbeet 60b5dc04b7 wined3d: Rename the IWineD3DPaletteImpl "Flags" field to "flags". 2010-11-15 15:04:32 +01:00
Henri Verbeet efb185dcd5 wined3d: Rename the wined3d_format "Flags" field to "flags". 2010-11-12 15:43:08 +01:00
Henri Verbeet 027fdb31c2 wined3d: Rename the IWineD3DSurfaceImpl "Flags" field to "flags". 2010-11-12 15:43:07 +01:00
Henri Verbeet a59ee29dec wined3d: Simplify a condition in IWineD3DSurfaceImpl_LoadTexture(). 2010-11-12 15:43:07 +01:00
Henri Verbeet 4bd1f04fbd wined3d: Check for depth/stencil surfaces in general in IWineD3DSurfaceImpl_Unmap().
Instead of just the current one.
2010-11-12 15:43:07 +01:00
Henri Verbeet db013ed213 wined3d: Avoid marking samplers dirty in IWineD3DSurfaceImpl_Unmap().
Resources are explicitly loaded in context_apply_draw_state() when needed, the
resource location management takes care of all of this.
2010-11-12 15:43:07 +01:00
Henri Verbeet 3bbe658ef1 wined3d: Remove some useless code. 2010-11-11 13:11:37 +01:00
Henri Verbeet 78abb8ae07 wined3d: Simply use surface_modify_location() in IWineD3DSurfaceImpl_Map() with WINED3DLOCK_DISCARD.
The call to surface_add_dirty_rect() would have taken care of evicting the
other locations anyway, but we really shouldn't be touching the location flags
directly.
2010-11-11 13:11:34 +01:00
Henri Verbeet d3fd7b247b wined3d: Handle rendertargetlock_mode in surface_load_location(). 2010-11-11 13:11:30 +01:00
Henri Verbeet 1fa19d8e42 wined3d: Take the location into account in context_apply_fbo_state_blit(). 2010-11-11 13:11:26 +01:00
Jaime Rave 6bf3f67c01 wined3d: Added Intel GM45 video card detection. 2010-11-11 13:08:25 +01:00
Henri Verbeet 7a354177b3 wined3d: Don't unregister a window unless the window proc is what we expect it to be.
In particular, if we'd unregister a window when the application replaced our
window proc, but still forwards to us, we'd create a loop when we register
the same window again later.
2010-11-10 12:19:24 +01:00
Henri Verbeet 9a1fddb0fd wined3d: Register a window only once. 2010-11-10 12:19:16 +01:00
Henri Verbeet 4503d0cb4b wined3d: Use a lookup table in select_card_ati_binary(). 2010-11-10 12:18:54 +01:00
Henri Verbeet 3bb40b0776 wined3d: Use lookup tables in select_card_nvidia_binary(). 2010-11-09 14:21:00 +01:00
Henri Verbeet a9da30dc5f wined3d: Use lookup tables in select_card_ati_mesa(). 2010-11-09 14:20:51 +01:00
Henri Verbeet bed0266a8c wined3d: Recognize Evergreen in select_card_ati_mesa(). 2010-11-09 14:20:42 +01:00
Henri Verbeet 50b76b76cb wined3d: Test for "AMD" in the renderer string as well to detect AMD cards.
Specifically, the Gallium r600 driver reports "X.Org" for vendor and a string
of the form "Gallium 0.4 on AMD RV730" for the renderer.
2010-11-08 13:31:09 +01:00
Henri Verbeet 7a64870014 wined3d: Don't use floating point textures without ARB_texture_float.
The floating point formats from ARB_texture_rg are only defined when
ARB_texture_float is also supported. It would have been nice if the formats
table itself was able to express this, but as far as I'm aware this is only an
issue for ARB_texture_rg, so it's probably not worth changing.
2010-11-08 13:30:59 +01:00
Henri Verbeet 7e3985e1fe ddraw: Setup the device window in SetCooperativeLevel(). 2010-11-08 13:30:54 +01:00
Henri Verbeet b898130a11 wined3d: Do not activate the window when restoring the styles.
This is consistent with device_setup_fullscreen_window(), and ddraw actually
has a test for this in ddrawmodes.c. (Although it doesn't actually use
device_setup_fullscreen_window() until the next patch.)
2010-11-08 13:30:46 +01:00
Henri Verbeet 45cee64295 wined3d: Move the fullscreen window setup / restore code to the device. 2010-11-08 13:30:40 +01:00
Henri Verbeet feaf81f60d wined3d: Use SetWindowPos() to make the focus window active. 2010-11-05 17:15:37 +01:00
Henri Verbeet f0b0c1b1dd wined3d: Add support for the INTZ format. 2010-11-05 17:15:36 +01:00
Michael Stefaniuc 1183383a6f wined3d: Fix some checkGLcall() messages. 2010-11-05 17:15:34 +01:00
Michael Stefaniuc 809741d5ae wined3d: Move the checkGLcall() right after the corresponding GL call. 2010-11-05 17:15:34 +01:00
Henri Verbeet 8e059205ba wined3d: Translate drawable coordinates in flush_to_framebuffer_drawpixels(). 2010-11-02 13:17:35 +01:00
Henri Verbeet 3f0d16c5bf wined3d: Do not use "lockedRect" unless the surface is locked in flush_to_framebuffer_drawpixels(). 2010-11-02 13:17:31 +01:00
Henri Verbeet b66478dfbc wined3d: Set an A window proc on non-unicode windows. 2010-11-02 13:17:25 +01:00
Francois Gouget b990617a95 Assorted spelling fixes. 2010-11-02 13:16:57 +01:00
Henri Verbeet e35b6aa1a7 wined3d: Change surface_translate_frontbuffer_coords() to handle all drawable coordinates. 2010-11-01 13:34:43 +01:00
Stefan Dösinger f89fdb4429 wined3d: Don't reapply lighting when vertex shaders are used.
If a vertex shader is used the GL_LIGHTING state is ignored. If the
shader is turned off state_vdecl is called anyway, so it will adjust the
lighting state to match the available fixed function vertex attributes.
2010-11-01 11:43:45 +01:00
Stefan Dösinger 7173a56161 wined3d: Don't change GL_TEXTURE* when using the arb fragment pipeline. 2010-11-01 11:43:39 +01:00
Stefan Dösinger 5082c57e77 wined3d: Don't pass the texture stages to basetexture_apply_state_changes. 2010-11-01 11:43:35 +01:00
Henri Verbeet 27bf4c3747 wined3d: Remove some redundant state save/restore code from flush_to_framebuffer_drawpixels(). 2010-10-29 14:33:57 +02:00
Henri Verbeet 7414ebc975 wined3d: Don't flip the coordinate system in set_blit_dimension(). 2010-10-29 14:33:57 +02:00
Henri Verbeet 1e301027dc wined3d: Only complain about unsupported filtering if we have a reason to. 2010-10-29 14:33:56 +02:00
Henri Verbeet e832b57a15 wined3d: Move loop state to wined3d_shader_context. 2010-10-29 14:33:56 +02:00
Henri Verbeet 8a4a76f9a7 wined3d: Move "parse_state" to wined3d_shader_context. 2010-10-29 14:33:56 +02:00
Henri Verbeet f216dba1e3 wined3d: Access reg_maps though ins->ctx in get_loop_control_const(). 2010-10-28 18:18:12 +02:00
Henri Verbeet 5b36e29298 wined3d: Access reg_maps though ins->ctx in get_bool_const(). 2010-10-28 18:18:12 +02:00
Henri Verbeet ac2805e5b3 wined3d: Access reg_maps though ins->ctx in shader_hw_mov(). 2010-10-28 18:18:12 +02:00
Henri Verbeet 6c5caf7a8b wined3d: Access reg_maps though ins->ctx in shader_arb_get_register_name(). 2010-10-28 18:18:11 +02:00
Henri Verbeet 3a41bbdd71 wined3d: Access reg_maps though ins->ctx in shader_glsl_get_register_name().
This is all part of the ongoing work to make the shader backend interface less
dependent on wined3d internals.
2010-10-28 18:18:11 +02:00
Henri Verbeet 5e24ccfd0c wined3d: Read transform flags from the compile args in pshader_hw_texm3x3spec(). 2010-10-27 12:11:49 +02:00
Henri Verbeet 8f5bb62769 wined3d: Read transform flags from the compile args in pshader_hw_texm3x3vspec(). 2010-10-27 12:11:45 +02:00
Henri Verbeet f624d8f7b6 wined3d: Read transform flags from the compile args in pshader_hw_texm3x3tex(). 2010-10-26 11:58:34 +02:00
Henri Verbeet db156977dd wined3d: Read transform flags from the compile args in pshader_hw_texm3x2tex().
Instead of directly from the stateblock. Note that the GLSL backend doesn't
take these flags into account at all. That's probably a bug in the GLSL
backend, but needs tests.
2010-10-26 11:58:31 +02:00
Henri Verbeet 8c36e4ce1d wined3d: Explicitly pass parameters to shader_arb_ps_local_constants(). 2010-10-26 11:58:23 +02:00
Henri Verbeet 5afb593cb2 wined3d: Explicitly pass parameters to shader_arb_vs_local_constants(). 2010-10-26 11:58:19 +02:00
Henri Verbeet 1b2f9d29d7 wined3d: Get rid of the posFixup field from the device. 2010-10-26 11:58:12 +02:00
Henri Verbeet 5ef7a8c242 wined3d: Explicitly pass parameters to shader_load_np2fixup_constants(). 2010-10-25 14:29:37 +02:00
Henri Verbeet 6dd9109358 wined3d: Pass a sub-resource index instead of a face + miplevel to cube texture methods. 2010-10-25 14:29:31 +02:00
Henri Verbeet f0a0714ecd wined3d: Pass a sub-resource index instead of a miplevel to 2D texture methods. 2010-10-25 14:29:21 +02:00
Henri Verbeet 7f8ea7fffc wined3d: Pass a sub-resource index instead of a miplevel to volume texture methods.
For volume textures this is mostly just a conceptual change, it'll only make a
difference for texture arrays and cube textures.
2010-10-21 16:15:38 +02:00
Henri Verbeet 2b58f80c27 wined3d: Use surface_blt_to_drawable() in IWineD3DSurfaceImpl_BltOverride(). 2010-10-21 16:15:31 +02:00
Henri Verbeet 574169174e wined3d: Check if we can do the blit before messing with surface flags in IWineD3DSurfaceImpl_BltOverride().
As an added benefit blit_supported() will now get the rectangles in the
correct coordinate system.
2010-10-21 16:15:25 +02:00
Henri Verbeet b0c8b4dd95 wined3d: Flip destination coordinates when blitting to an offscreen target in arbfp_blit_surface(). 2010-10-21 16:15:20 +02:00
Henri Verbeet d508a855c1 wined3d: Recognize the SM4 sqrt opcode. 2010-10-20 18:37:07 +02:00
Henri Verbeet 58ecf706e2 wined3d: Handle WINED3DFMT_R10G10B10A2_UNORM in getColorBits(). 2010-10-20 18:37:07 +02:00
Henri Verbeet 53f2765445 wined3d: Remove a FIXME in context_apply_blit_state().
There are some legitimate cases for this codepath, for example when blitting
to a render target with fixups or a color key.
2010-10-19 13:50:17 +02:00
Henri Verbeet 1237e8065e wined3d: Properly flip in surface_blt_to_drawable().
We want to flip the coordinate system, not just the rectangle.
2010-10-19 13:50:13 +02:00
Henri Verbeet 8a96a8cc1f wined3d: Always pass a valid rectangle to surface_get_blt_info(). 2010-10-19 13:50:09 +02:00
Henri Verbeet ca381b610c wined3d: Allow FBO blits again between surfaces with fixups if they have the same format.
For some reason f1ca14cb5b disabled this.
2010-10-19 13:50:01 +02:00
Henri Verbeet 70f4e66f84 wined3d: IWineD3DBuffer_Unmap() can't fail. 2010-10-15 16:19:54 +02:00
Henri Verbeet 1fa3365832 wined3d: Flip destination coordinates when blitting to an offscreen target in BltOverride(). 2010-10-15 16:19:50 +02:00
Henri Verbeet 95469309d6 wined3d: Consistently use Map/Unmap for mapping resources. 2010-10-14 17:54:52 +02:00
Henri Verbeet 4eb8fd7960 wined3d: Recognize the SM4 sample_d opcode. 2010-10-14 17:54:52 +02:00
Henri Verbeet e54d9afbc3 wined3d: Recognize the SM4 ABS and NEG source modifiers. 2010-10-13 13:00:39 +02:00
Henri Verbeet 50f6fbadb0 wined3d: Recognize the SM4 ld opcode. 2010-10-13 13:00:30 +02:00
Henri Verbeet 7c6658f970 wined3d: Recognize the SM4 ieq opcode. 2010-10-13 13:00:26 +02:00
Henri Verbeet a9e3058426 wined3d: Recognize the SM4 ftoi opcode. 2010-10-13 13:00:22 +02:00
Henri Verbeet b53d346d35 wined3d: Recognize the SM4 div opcode. 2010-10-13 13:00:17 +02:00
Henri Verbeet 5eb7a44a2e wined3d: Skip SM4 instruction modifiers. 2010-10-12 17:36:40 +02:00
Henri Verbeet 0e4e196979 wined3d: Skip SM4 source register modifiers. 2010-10-12 17:36:36 +02:00
Henri Verbeet 916167e93a wined3d: Recognize the SM4 resource register type. 2010-10-12 17:36:30 +02:00
Henri Verbeet 6cbf1dd4b5 wined3d: Recognize the SM4 sampler register type. 2010-10-12 17:36:27 +02:00
Henri Verbeet 3c45bba11e wined3d: Add traces to IWineD3DDeviceImpl_AcquireFocusWindow() / IWineD3DDeviceImpl_ReleaseFocusWindow(). 2010-10-11 17:11:34 +02:00
Henri Verbeet ff9c2fcdb2 wined3d: Recognize the SM4 utof opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet 18d7a73af8 wined3d: Recognize the SM4 sample_l opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet 407ed1b875 wined3d: Recognize the SM4 sample opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet b2f520b5f0 wined3d: Recognize the SM4 itof opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet 1fe1676ae9 wined3d: SM4 immediate constants are typeless. 2010-10-08 15:26:42 +02:00
Henri Verbeet 3e45fe7488 wined3d: The SM4 sincos opcode has two destination arguments. 2010-10-08 15:26:37 +02:00
Henri Verbeet d369136a96 wined3d: Recognize the SM4 imul opcode. 2010-10-08 15:26:33 +02:00
Henri Verbeet 0677a67c7b wined3d: Recognize the SM4 NULL register type. 2010-10-08 15:26:28 +02:00
Henri Verbeet 7c7205d90a wined3d: Allow multiple shader instruction destination arguments. 2010-10-08 15:26:19 +02:00
Henri Verbeet 512e6cec2c wined3d: Recognize the SM4 movc opcode. 2010-10-07 15:58:10 +02:00
Henri Verbeet f78542c34c wined3d: Recognize the SM4 mad opcode. 2010-10-07 15:58:10 +02:00
Henri Verbeet 2eb5df3039 wined3d: Recognize the SM4 frc opcode. 2010-10-07 15:58:10 +02:00
Henri Verbeet 1330f844f8 wined3d: Recognize the SM4 and opcode. 2010-10-07 15:58:09 +02:00
Henri Verbeet 98a2973e95 wined3d: Recognize the SM4 loop opcode. 2010-10-07 15:58:09 +02:00
Henri Verbeet a59d0f45c1 wined3d: Acquire / release the focus window during reset. 2010-10-06 14:42:08 +02:00