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