Commit Graph

1878 Commits

Author SHA1 Message Date
Stefan Dösinger 5e89689bcd wined3d: Make format conversion functions work on volumes. 2013-09-23 20:32:32 +02:00
Stefan Dösinger 24fbe9f2ec wined3d: Pass the destination pitch to format conversion functions.
The relation between src and dst pitches is not correct if the source
pitch is padded to match pitch alignment requirements.
2013-09-20 17:04:04 +02:00
Stefan Dösinger d15042837a wined3d: Pass a correct access flag to glMapBufferARB. 2013-09-19 19:49:49 +02:00
Stefan Dösinger 83b404879c wined3d: Mapping a mapped volume is an error. 2013-09-18 15:46:49 +02:00
Stefan Dösinger bbfca4863c wined3d: Store the instance count in the context structure. 2013-09-16 13:06:03 +02:00
Stefan Dösinger 59e0b841c7 wined3d: Move device_preload_textures into context.c. 2013-09-16 13:06:01 +02:00
Stefan Dösinger 112617f00b wined3d: Move tex_unit_map and friends into the context. 2013-09-16 13:05:58 +02:00
Stefan Dösinger f29c24f2de wined3d: Pass the context to surface_internal_preload. 2013-09-16 13:05:55 +02:00
Stefan Dösinger fe44be5fde wined3d: Pass the context to the internal texture_preload function. 2013-09-16 13:05:52 +02:00
Henri Verbeet d1e44ff775 wined3d: Pass a resource to wined3d_resource_free_sysmem(). 2013-09-16 12:51:13 +02:00
Henri Verbeet 261246ef21 wined3d: Pass a resource to wined3d_resource_allocate_sysmem(). 2013-09-16 12:51:13 +02:00
Stefan Dösinger b8eb171b6b wined3d: Explicitly pass the state information to buffer_internal_preload. 2013-09-12 17:48:20 +02:00
Stefan Dösinger d8c43aabf7 wined3d: Move the decoded stream info into the context. 2013-09-12 17:48:14 +02:00
Henri Verbeet 1b53cbd8de wined3d: Make primary_render_target_is_p8() work on a swapchain. 2013-09-12 10:59:11 +02:00
Stefan Dösinger b4d8b52fa7 wined3d: Pass position_transformed and gl_info to find_ps_compile_args. 2013-09-11 17:09:59 +02:00
Stefan Dösinger dfeee9077c wined3d: Pass the swizzle map to find_vs_compile_args. 2013-09-11 17:09:56 +02:00
Henri Verbeet d21c26e4f6 wined3d: Get rid of surface_modify_location(). 2013-09-10 11:09:53 +02:00
Henri Verbeet b62915dabb wined3d: Replace surface_modify_location(surface, location, FALSE) calls with surface_invalidate_location(). 2013-09-10 11:09:51 +02:00
Stefan Dösinger cd203b38a6 wined3d: Pass the context to the main buffer preload function. 2013-09-09 22:10:01 +02:00
Stefan Dösinger 87f931dc64 wined3d: Only invalidate STATE_INDEXBUFFER for the current context in buffer_get_sysmem(). 2013-09-09 22:10:00 +02:00
Stefan Dösinger 1cf192172e wined3d: Only invalidate STATE_INDEXBUFFER for the current context in buffer_create_buffer_object(). 2013-09-09 22:10:00 +02:00
Henri Verbeet 59e2f52ff8 wined3d: Replace the "dirty" field in struct gl_texture with WINED3D_TEXTURE_ flags. 2013-09-09 22:09:58 +02:00
Henri Verbeet c44012f0c1 wined3d: Get rid of the "dirty" flag to wined3d_texture_set_dirty(). 2013-09-09 22:09:57 +02:00
Stefan Dösinger df5a0976e9 wined3d: Check the format block size before creating textures.
Sizes of textures and stand-alone surfaces must be multiples of the
format's block size for DXTN formats. Since we create a texture for
everything (except in ddraw), this check also takes care of stand-alone
surfaces.
2013-09-06 17:25:08 +02:00
Stefan Dösinger b73464a413 wined3d: Use the ftoa helper function in the ARB shader backend.
This is the ARB equivalent to e0494afa00.
2013-09-05 17:55:48 +02:00
Henri Verbeet 36dcb77f6e wined3d: Get rid of some leftover references to IWineD3D. 2013-09-03 16:58:16 +02:00
Henri Verbeet 2d23913186 wined3d: Move the MAXLOCKCOUNT constant to surface.c. 2013-09-02 18:02:23 +02:00
Henri Verbeet f7b84fe755 wined3d: Move the DEFAULT_REFRESH_RATE constant to directx.c. 2013-08-30 11:18:49 +02:00
Henri Verbeet 53f747de1b wined3d: Move the WINED3D_MAX_FBO_ENTRIES constant to context.c. 2013-08-30 11:18:46 +02:00
Henri Verbeet 35a8bf0e1e wined3d: Move the buffer flags to buffer.c. 2013-08-30 11:18:43 +02:00
Henri Verbeet 805fc64198 wined3d: Get rid of the unused WINED3D_BUFFER_OPTIMIZED flag. 2013-08-29 19:56:17 +02:00
Henri Verbeet 43ecaf29c3 wined3d: Get rid of the DDRAW_PITCH_ALIGNMENT and D3D8_PITCH_ALIGNMENT constants. 2013-08-29 19:56:17 +02:00
Henri Verbeet 605136ab04 wined3d: Get rid of the SHADER_PGMSIZE constant. 2013-08-29 19:56:17 +02:00
Henri Verbeet ac54753e7c wined3d: Get rid of RTL_READDRAW.
I don't think we ever want to use glDrawPixels().
2013-08-28 11:17:09 +02:00
Henri Verbeet 00ffc0c24b wined3d: Get rid of the unused MAX_PALETTES constant. 2013-08-28 11:17:08 +02:00
Henri Verbeet b85c2a74bb wined3d: Replace the "stateBlock" wined3d_device field with a wined3d_state structure. 2013-08-27 11:50:53 +02:00
Henri Verbeet fc5f9d4709 wined3d: Make stateblock_init_default_state() work with a wined3d_state structure instead. 2013-08-27 11:50:53 +02:00
Stefan Dösinger 6bc3cbf1c5 wined3d: Implement sRGB for volumes. 2013-08-26 19:02:16 +02:00
Stefan Dösinger bd866c0294 wined3d: Implement NOOVERWRITE and DISCARD volume maps. 2013-08-26 19:01:53 +02:00
Stefan Dösinger 8c708486c3 wined3d: Use PBOs for dynamic volumes. 2013-08-26 19:01:39 +02:00
Henri Verbeet 4e755d263f wined3d: Make stateblock_unbind_resources() work with a wined3d_state structure instead. 2013-08-26 10:50:46 +02:00
Henri Verbeet f02a5f45d4 wined3d: Replace the "updateStateBlock" wined3d_device field with a "update_state" field. 2013-08-26 10:50:43 +02:00
Stefan Dösinger aa3a43f769 wined3d: Don't lock the dst volume in device_update_volume. 2013-08-23 19:26:43 +02:00
Stefan Dösinger 5ff1237563 wined3d: Free volume sysmem after upload. 2013-08-23 19:26:38 +02:00
Gediminas Jakutis 6ca8b274bb wined3d: Recognize Nvidia GeForce GTX 770. 2013-08-23 18:28:47 +02:00
Henri Verbeet 74faebd68d wined3d: Store the current GLSL program per-context. 2013-08-23 10:41:28 +02:00
Stefan Dösinger 52fb1cc245 wined3d: Implement basic volume location management. 2013-08-22 20:16:01 +02:00
Stefan Dösinger bcb651ca80 wined3d: Remove WINED3D_RESOURCE_ACCESS_SCRATCH. 2013-08-22 20:15:45 +02:00
Stefan Dösinger 07079d1109 wined3d: Remove locked and dirty boxes from volumes. 2013-08-22 20:15:39 +02:00
Stefan Dösinger e08e2b2ade wined3d: Separate volume allocation and loading. 2013-08-22 20:15:27 +02:00
Stefan Dösinger ac871305f8 wined3d: Store the mipmap level in the volume. 2013-08-22 20:15:18 +02:00
Stefan Dösinger 7e7ee52486 wined3d: Move volume booleans into a flags field. 2013-08-21 19:53:38 +02:00
Stefan Dösinger 4dd4a6913b wined3d: Add a function for allocating aligned resource memory. 2013-08-21 19:53:20 +02:00
Stefan Dösinger 9d75a517c2 wined3d: Improve volume size calculation. 2013-08-21 19:53:15 +02:00
Henri Verbeet 69e1100c0c wined3d: Handle NP2 fixup updates in shader_load_constants(). 2013-08-21 12:13:56 +02:00
Henri Verbeet 62859daf0b wined3d: Avoid looking up shaders for shader stages that didn't change. 2013-08-21 12:13:56 +02:00
Henri Verbeet 7e7bd87b2c wined3d: Store the original display mode in the swapchain. 2013-08-20 11:50:28 +02:00
Henri Verbeet b2721d5f9c wined3d: Store the immediate mode fixed function attribute submission function pointers in struct wined3d_d3d_info. 2013-08-19 12:53:21 +02:00
Henri Verbeet 37d1e8b79c wined3d: Try to avoid redundant constant updates.
This gives a minor performance improvement. For example, in 3DMark03 Game Test
1 this gives about a 4% improvement, in the Counter Strike: Source stress test
it's about 1%. (NVIDIA GF9600M, Intel T9550, 1024x768).
2013-08-16 11:55:24 +02:00
Matteo Bruni e2cf98eb76 wined3d: Implement special fog behavior for orthogonal projection matrices. 2013-07-24 11:09:31 -05:00
Stefan Dösinger 22319c7f9e wined3d: Work around broken FFP fog with ARB shaders. 2013-06-19 20:09:53 +02:00
Karol Herbst 627aebf774 wined3d: Add Nvidia GeForce GTX 770M. 2013-06-14 13:51:37 +02:00
Maxime Lombard 214d6ed0ba wined3d: Add Nvidia GeForce GTX 670MX. 2013-06-14 13:51:35 +02:00
Henri Verbeet ffc9f535eb wined3d: Handle pre-transformed vertices in the GLSL vertex pipe.
This also avoids a fallback to drawStridedSlow().
2013-06-14 11:46:31 +02:00
Henri Verbeet 4de77fa23f wined3d: Allow a custom pitch to be specified in wined3d_surface_set_mem(). 2013-06-14 11:46:20 +02:00
Henri Verbeet e0494afa00 wined3d: Introduce a helper function for printing floats in GLSL shaders. 2013-06-11 11:33:15 +02:00
Francois Gouget 145c417e98 wined3d: Make state_fog_vertexpart() static. 2013-06-06 11:47:02 +02:00
Henri Verbeet a3f59cf618 wined3d: Allow textures as swapchain surfaces. 2013-06-03 11:30:43 +02:00
Henri Verbeet 51bbfa5ced wined3d: Allow 32 bpc UINT formats in vertex declarations. 2013-06-03 11:30:31 +02:00
Kyle Luna 7f5f166a19 wined3d: Add Mobility Radeon HD 4200. 2013-05-31 18:25:01 +02:00
Henri Verbeet 8352d45da5 wined3d: Rename "fogmode" to "wined3d_ffp_ps_fog_mode".
This is mostly for consistency with wined3d_ffp_vs_fog_mode.
2013-05-30 10:57:15 +02:00
Henri Verbeet e4816996c3 ddraw: Handle the "DirectDrawRenderer" registry key in wined3d. 2013-05-30 10:57:08 +02:00
Henri Verbeet 74c5a22daa wined3d: Only invalidate the current ffp vertex shader if the light type changed.
As opposed to any time a light parameter changed.
2013-05-29 12:12:33 +02:00
Henri Verbeet bdd97858bf wined3d: Only write gl_ClipVertex if clipping is enabled in shader_glsl_generate_ffp_vertex_shader(). 2013-05-29 12:12:32 +02:00
Henri Verbeet 1c2392ddb0 wined3d: Only write gl_PointSize for point primitives in shader_glsl_generate_ffp_vertex_shader(). 2013-05-29 12:12:32 +02:00
Henri Verbeet 2014141a25 wined3d: Add support for GLSL based fixed function vertex shaders. 2013-05-29 12:12:32 +02:00
Henri Verbeet 273dcbf564 wined3d: Get rid of the unused "streams" field from struct wined3d_vertex_declaration. 2013-05-27 19:28:57 +02:00
Stefan Dösinger 6fce4d4547 wined3d: Pass the state and private data to shader_select. 2013-05-14 18:37:08 +02:00
Stefan Dösinger 47f385adf0 wined3d: Add a separate function for disabling shaders. 2013-05-14 18:37:04 +02:00
Stefan Dösinger 036a62a245 wined3d: Explicitly pass the state to shader_load_constants. 2013-05-14 18:36:59 +02:00
Austin English c012b1a13c wined3d: Add NVidia GeForce GT 630. 2013-05-08 12:39:55 +02:00
Stefan Dösinger 76941eff00 wined3d: Move gl_info->limits.max_texture_stages to d3d_info. 2013-04-25 20:25:10 +02:00
Stefan Dösinger ac99d53991 wined3d: Move valid_rt_mask to wined3d_d3d_info. 2013-04-25 20:25:10 +02:00
Stefan Dösinger cb01fb27b1 wined3d: Move max_ffp_textures to wined3d_d3d_info. 2013-04-25 20:25:09 +02:00
Stefan Dösinger 768e8c098c wined3d: Move shader limits to wined3d_d3d_info. 2013-04-25 20:25:09 +02:00
Stefan Dösinger f7580726b0 wined3d: Don't pass the device to gen_ffp_frag_op. 2013-04-25 20:25:08 +02:00
Stefan Dösinger 16e862ba9d wined3d: Add a new structure for d3d limits and other info. 2013-04-25 20:25:07 +02:00
Henri Verbeet 471991eb9a wined3d: Introduce a wined3d_vertex_pipe_ops structure. 2013-04-25 13:39:56 +02:00
Stefan Dösinger c371af0d5c wined3d: Get rid of device->view_ident. 2013-04-24 18:26:56 +02:00
Henri Verbeet c756496326 wined3d: Rename the device "strided_streams" field to "stream_info".
The "strided" in there is mostly historic, it hasn't really been accurate for
a while now.
2013-04-22 15:26:11 +02:00
Henri Verbeet 82a06a0a36 wined3d: Get rid of the unused TRACE_STRIDED macro. 2013-04-22 15:26:04 +02:00
Henri Verbeet ee6d17cd54 wined3d: Add support for GL_ARB_debug_output. 2013-04-19 10:43:40 +02:00
Henri Verbeet 5115f55eeb wined3d: Use WGL_ARB_create_context when available. 2013-04-19 10:43:37 +02:00
Henri Verbeet 42208d083c wined3d: Get rid of the unused WINED3DFMT_FLAG_FOURCC flag. 2013-04-17 11:36:19 +02:00
Stefan Dösinger 0680b1758d wined3d: Store ps 1.4 texture types in ps_compile_args. 2013-04-15 17:45:58 +02:00
Stefan Dösinger 822bcfdf74 wined3d: Remove the unused idx_data parameter from draw_primitive. 2013-04-10 16:16:44 +02:00
Stefan Dösinger 667f4225b5 wined3d: Put local constants into the shader code again.
This is essentially a revert of cd7825c893,
with proper precision.
2013-04-09 16:33:25 +02:00
Frédéric Delanoy 8e9af2869c wined3d: Add NVIDIA GeForce 410M. 2013-03-27 12:03:49 +01:00
Daniel Jelinski d8a86da66e wined3d: Add NVidia GeForce 315M. 2013-03-26 12:07:59 +01:00
Ričardas Barkauskas cf12f51b15 wined3d: Make shader buffer dynamic. 2013-02-26 11:28:44 +01:00
Ričardas Barkauskas b5ff0a6983 wined3d: Rename bsize to content_size to reflect usage. 2013-02-26 11:27:39 +01:00
Stefan Dösinger 3221e7fdd0 wined3d: Reserve one vs constant on r200. 2013-02-11 11:24:35 +01:00
Francois Gouget 68b22623b2 wined3d: debug_{d3dbasis, d3ddegree}() are not used anymore so remove them. 2013-01-29 11:48:46 +01:00
Francois Gouget e7adf7fbf7 wined3d: Make device_stream_info_from_declaration() static. 2013-01-29 11:48:42 +01:00
Henri Verbeet 7c8dab24e6 wined3d: Introduce a format flag for texturing. 2013-01-28 14:05:34 +01:00
Stefan Dösinger 1a3f741643 wined3d: Remove draw_primitive_strided. 2013-01-25 11:30:33 +01:00
Stefan Dösinger 149a85c2e7 d3d: Remove high level patch support.
No Windows driver ever exposed this, and no game uses this. The
only application that used this feature is a DirectX 8 SDK sample.
2013-01-25 11:29:41 +01:00
Henri Verbeet dc21460397 wined3d: Replace "VertexShaderMode" and "PixelShaderMode" with shader model limits. 2013-01-25 11:18:13 +01:00
Henri Verbeet 3f21757702 wined3d: Get rid of select_shader_mode(). 2013-01-23 12:48:34 +01:00
Henri Verbeet 9307327ede wined3d: Properly set WINED3DFMT_FLAG_SRGB_WRITE in init_format_texture_info(). 2013-01-22 12:13:46 +01:00
Henri Verbeet 5ce220eb2f wined3d: Add sRGB writes to the shader backend and fragment pipe caps. 2013-01-22 12:13:42 +01:00
Henri Verbeet c525cf381d wined3d: Move "vs_clipping" to the shader caps. 2013-01-21 12:51:22 +01:00
Henri Verbeet 0e0e3b76f5 wined3d: Move "ffp_proj_control" to the fragment caps. 2013-01-21 12:51:21 +01:00
Henri Verbeet e73aa3e83d wined3d: Get rid of vs_selected_mode / ps_selected_mode from struct wined3d_device.
These are only used by wined3d_shader_create_vs() /
wined3d_shader_create_ps(), but they're redundant there since the "none"
shader backend doesn't support any shader version.
2013-01-18 13:29:04 +01:00
Henri Verbeet 6c7cce55a7 wined3d: Get rid of the "opengl" field in struct wined3d_adapter. 2013-01-17 12:22:05 +01:00
Henri Verbeet ce912d5149 wined3d: Get rid of the surface_type parameter to wined3d_surface_create(). 2013-01-17 12:21:55 +01:00
Henri Verbeet f3dbbba48e wined3d: Initialize the various backends in wined3d_adapter_init_nogl() as well. 2013-01-16 12:22:43 +01:00
Henri Verbeet 3e7c800e9c wined3d: Get rid of the user_stream field from wined3d_state.
All remaining uses are equivalent to "device->up_strided". (Which should of
course eventually go away as well.)
2013-01-07 11:12:23 +01:00
Jiang Yike 44d5d3951b wined3d: Add recognition for NVIDIA GeForce GTX 660 Ti, 660, 650 Ti and 650. 2012-12-19 14:38:59 +01:00
Piotr Caban b71af96b9c wined3d: Recognize Nvidia GT610 card. 2012-12-18 12:37:59 +01:00
Caron Jensen 86cb15b235 wined3d: Recognize Nvidia GT520 cards. 2012-12-14 18:58:10 +01:00
Henri Verbeet 78984cf46c wined3d: Get rid of ENTER_GL / LEAVE_GL. 2012-12-11 12:03:39 +01:00
Henri Verbeet 4c4131cd78 d3d10core: Implement d3d10_device_PSSetSamplers(). 2012-12-10 11:25:46 +01:00
Henri Verbeet 047d607e07 d3d10core: Implement d3d10_device_GSSetSamplers(). 2012-12-07 10:35:44 +01:00
Henri Verbeet e5805c316c d3d10core: Implement d3d10_device_VSSetSamplers(). 2012-12-06 12:55:50 +01:00
Henri Verbeet b034f49183 d3d10core: Implement d3d10_device_PSSetConstantBuffers(). 2012-12-05 12:44:01 +01:00
Henri Verbeet feda45279e d3d10core: Implement d3d10_device_GSSetConstantBuffers(). 2012-12-04 00:02:00 +01:00
Henri Verbeet 52c6abb485 wined3d: Resolve the instance count for instanced arrays in load_numbered_arrays(). 2012-12-03 12:37:42 +01:00
Henri Verbeet ae5e15319e d3d10core: Implement d3d10_device_VSSetConstantBuffers(). 2012-11-30 11:42:48 +01:00
Henri Verbeet 7f62678c16 d3d10core: Implement d3d10_device_DrawIndexedInstanced(). 2012-11-27 16:54:57 +01:00
Henri Verbeet 5b781d709d d3d10core: Implement d3d10_device_SOSetTargets(). 2012-11-23 14:40:30 +01:00
Christian Inci 83ed5efb31 wined3d: Add support for nVidia GT 640M. 2012-11-15 21:22:06 +01:00
Henri Verbeet 9a27b0ad71 wined3d: Add support for geometry shaders to the GLSL shader backend. 2012-11-15 12:19:36 +01:00
Henri Verbeet 9081f8afb1 d3d10core: Implement d3d10_device_GSSetShader(). 2012-11-14 11:27:40 +01:00
Henri Verbeet 10d46bc042 wined3d: Add support for GLSL based fixed function fragment shaders. 2012-11-12 12:15:25 +01:00
Henri Verbeet 0e856abf6d wined3d: Enable or disable the fragment pipe in shader_select(). 2012-11-05 11:30:33 +01:00
Henri Verbeet d74cb4571b wined3d: Simplify shader selection. 2012-11-05 11:30:32 +01:00
Henri Verbeet 5059da9e32 wined3d: Don't depend on device internals in fragment_pipeline.alloc_private().
In particular, device->shader_backend and device->shader_priv aren't
initialized yet when the fragment pipe is initialized.
2012-10-29 10:47:03 +01:00
Henri Verbeet 17e33e9b27 wined3d: Make the shader backend responsible for controlling the fixed function fragment pipe. 2012-10-25 11:48:31 +02:00
Henri Verbeet ddbe791d37 wined3d: Set texture_level in surface_set_texture_target() as well. 2012-10-24 11:24:22 +02:00
Henri Verbeet 6f025deba6 wined3d: Move shader_is_pshader_version() and shader_is_vshader_version() to the ARB program shader backend. 2012-10-23 12:11:18 +02:00
Henri Verbeet 59bdd6ae97 wined3d: Recognise the SM4 "primID" register type. 2012-10-16 11:36:45 +02:00
Henri Verbeet 311a1e0148 wined3d: Handle SM1 comments in the frontend. 2012-10-15 13:31:08 +02:00
Henri Verbeet 5626e165ff wined3d: Introduce a structure for shader register indices. 2012-10-15 13:31:07 +02:00
Henri Verbeet fc185f9bae wined3d: Add support for SM4 relative addressing. 2012-10-12 13:21:39 +02:00
Henri Verbeet 07203fa465 wined3d: Remove unused wined3d_shader_limits fields. 2012-10-09 09:59:58 +02:00
Henri Verbeet 4d39cb56fc wined3d: Handle WINED3DSPR_CONSTBUFFER registers in the GLSL shader backend. 2012-10-03 11:19:42 +02:00
Henri Verbeet 6d948e1a8c wined3d: Recognize the SM4 dcl_constantBuffer opcode. 2012-10-01 23:08:00 +02:00
Oleg Bosis 81525453f1 wined3d: Add correct detection of GeForce GT 650M video card. 2012-10-01 12:21:06 +02:00
Henri Verbeet e13a589bfc wined3d: Set more accurate limits for SM4 shaders. 2012-09-28 11:26:44 +02:00