Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ac30c27c3f | |||
| 105c3ad9af | |||
| 25fb362c8b | |||
| 54b3673488 | |||
| 3e8b3b5f7c | |||
| 3319192abc | |||
| 423f41d7d3 | |||
| c27283c0d8 | |||
| 58816f0f3a | |||
| b79742b222 | |||
| b8c8161d58 | |||
| 2621d6a3e0 | |||
| 742cee9108 | |||
| 9f07674dfa | |||
| a08a768f50 | |||
| cfcb5684a0 | |||
| 0f121bdf37 | |||
| 3231f0aad0 | |||
| fe0600866c | |||
| 604e42bde8 | |||
| 7a02d6e4ed | |||
| bcc79b38b8 | |||
| 26d36e28fa | |||
| ccdd55a607 | |||
| 06da2071b4 | |||
| 7f804cd8c8 | |||
| ffd9ab12c6 | |||
| 5928b78c45 | |||
| 85f80cfbd1 | |||
| e7271179f7 | |||
| b6fd878834 | |||
| 508cf11b88 | |||
| 25bdc076cd | |||
| 30d45356a3 | |||
| 585a66ba21 | |||
| a2f6c27221 | |||
| a892a990f7 |
@@ -55,6 +55,7 @@
|
||||
rpcs3/git-version.h
|
||||
|
||||
# Visual Studio Files
|
||||
*.ipch
|
||||
*.vspx
|
||||
*.psess
|
||||
*.VC.*
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
branch = release_40
|
||||
[submodule "rsx_program_decompiler"]
|
||||
path = rsx_program_decompiler
|
||||
url = https://github.com/RPCS3/rsx_program_decompiler
|
||||
url = https://github.com/Zangetsu38/rsx_program_decompiler
|
||||
[submodule "GSL"]
|
||||
path = 3rdparty/GSL
|
||||
url = https://github.com/Microsoft/GSL.git
|
||||
|
||||
Vendored
+406
-12
@@ -6,7 +6,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Copyright (c) 2013-2014 The Khronos Group Inc.
|
||||
** Copyright (c) 2013-2017 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
@@ -31,9 +31,7 @@ extern "C" {
|
||||
** This header is generated from the Khronos OpenGL / OpenGL ES XML
|
||||
** API Registry. The current version of the Registry, generator scripts
|
||||
** used to make the header, and the header can be found at
|
||||
** http://www.opengl.org/registry/
|
||||
**
|
||||
** Khronos $Revision: 31191 $ on $Date: 2015-05-14 06:31:39 -0400 (Thu, 14 May 2015) $
|
||||
** https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
|
||||
@@ -53,7 +51,7 @@ extern "C" {
|
||||
#define GLAPI extern
|
||||
#endif
|
||||
|
||||
#define GL_GLEXT_VERSION 20150514
|
||||
#define GL_GLEXT_VERSION 20170305
|
||||
|
||||
/* Generated C header for:
|
||||
* API: gl
|
||||
@@ -2654,7 +2652,7 @@ typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC) (GLuint fram
|
||||
typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);
|
||||
typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value);
|
||||
typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);
|
||||
typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) (GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil);
|
||||
typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
|
||||
typedef void (APIENTRYP PFNGLBLITNAMEDFRAMEBUFFERPROC) (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||
typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) (GLuint framebuffer, GLenum target);
|
||||
typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) (GLuint framebuffer, GLenum pname, GLint *param);
|
||||
@@ -2777,7 +2775,7 @@ GLAPI void APIENTRY glInvalidateNamedFramebufferSubData (GLuint framebuffer, GLs
|
||||
GLAPI void APIENTRY glClearNamedFramebufferiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);
|
||||
GLAPI void APIENTRY glClearNamedFramebufferuiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value);
|
||||
GLAPI void APIENTRY glClearNamedFramebufferfv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);
|
||||
GLAPI void APIENTRY glClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil);
|
||||
GLAPI void APIENTRY glClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
|
||||
GLAPI void APIENTRY glBlitNamedFramebuffer (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||
GLAPI GLenum APIENTRY glCheckNamedFramebufferStatus (GLuint framebuffer, GLenum target);
|
||||
GLAPI void APIENTRY glGetNamedFramebufferParameteriv (GLuint framebuffer, GLenum pname, GLint *param);
|
||||
@@ -2875,6 +2873,17 @@ GLAPI void APIENTRY glTextureBarrier (void);
|
||||
#define GL_ARB_ES3_1_compatibility 1
|
||||
#endif /* GL_ARB_ES3_1_compatibility */
|
||||
|
||||
#ifndef GL_ARB_ES3_2_compatibility
|
||||
#define GL_ARB_ES3_2_compatibility 1
|
||||
#define GL_PRIMITIVE_BOUNDING_BOX_ARB 0x92BE
|
||||
#define GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB 0x9381
|
||||
#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB 0x9382
|
||||
typedef void (APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXARBPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glPrimitiveBoundingBoxARB (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
|
||||
#endif
|
||||
#endif /* GL_ARB_ES3_2_compatibility */
|
||||
|
||||
#ifndef GL_ARB_ES3_compatibility
|
||||
#define GL_ARB_ES3_compatibility 1
|
||||
#endif /* GL_ARB_ES3_compatibility */
|
||||
@@ -3288,6 +3297,10 @@ GLAPI GLboolean APIENTRY glIsProgramARB (GLuint program);
|
||||
#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
|
||||
#endif /* GL_ARB_fragment_shader */
|
||||
|
||||
#ifndef GL_ARB_fragment_shader_interlock
|
||||
#define GL_ARB_fragment_shader_interlock 1
|
||||
#endif /* GL_ARB_fragment_shader_interlock */
|
||||
|
||||
#ifndef GL_ARB_framebuffer_no_attachments
|
||||
#define GL_ARB_framebuffer_no_attachments 1
|
||||
#endif /* GL_ARB_framebuffer_no_attachments */
|
||||
@@ -3340,6 +3353,16 @@ GLAPI void APIENTRY glFramebufferTextureFaceARB (GLenum target, GLenum attachmen
|
||||
#define GL_ARB_get_texture_sub_image 1
|
||||
#endif /* GL_ARB_get_texture_sub_image */
|
||||
|
||||
#ifndef GL_ARB_gl_spirv
|
||||
#define GL_ARB_gl_spirv 1
|
||||
#define GL_SHADER_BINARY_FORMAT_SPIR_V_ARB 0x9551
|
||||
#define GL_SPIR_V_BINARY_ARB 0x9552
|
||||
typedef void (APIENTRYP PFNGLSPECIALIZESHADERARBPROC) (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glSpecializeShaderARB (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue);
|
||||
#endif
|
||||
#endif /* GL_ARB_gl_spirv */
|
||||
|
||||
#ifndef GL_ARB_gpu_shader5
|
||||
#define GL_ARB_gpu_shader5 1
|
||||
#endif /* GL_ARB_gpu_shader5 */
|
||||
@@ -3348,6 +3371,91 @@ GLAPI void APIENTRY glFramebufferTextureFaceARB (GLenum target, GLenum attachmen
|
||||
#define GL_ARB_gpu_shader_fp64 1
|
||||
#endif /* GL_ARB_gpu_shader_fp64 */
|
||||
|
||||
#ifndef GL_ARB_gpu_shader_int64
|
||||
#define GL_ARB_gpu_shader_int64 1
|
||||
#define GL_INT64_ARB 0x140E
|
||||
#define GL_INT64_VEC2_ARB 0x8FE9
|
||||
#define GL_INT64_VEC3_ARB 0x8FEA
|
||||
#define GL_INT64_VEC4_ARB 0x8FEB
|
||||
#define GL_UNSIGNED_INT64_VEC2_ARB 0x8FF5
|
||||
#define GL_UNSIGNED_INT64_VEC3_ARB 0x8FF6
|
||||
#define GL_UNSIGNED_INT64_VEC4_ARB 0x8FF7
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1I64ARBPROC) (GLint location, GLint64 x);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2I64ARBPROC) (GLint location, GLint64 x, GLint64 y);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1UI64ARBPROC) (GLint location, GLuint64 x);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLGETUNIFORMI64VARBPROC) (GLuint program, GLint location, GLint64 *params);
|
||||
typedef void (APIENTRYP PFNGLGETUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLuint64 *params);
|
||||
typedef void (APIENTRYP PFNGLGETNUNIFORMI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint64 *params);
|
||||
typedef void (APIENTRYP PFNGLGETNUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint64 *params);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64ARBPROC) (GLuint program, GLint location, GLint64 x);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64ARBPROC) (GLuint program, GLint location, GLuint64 x);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glUniform1i64ARB (GLint location, GLint64 x);
|
||||
GLAPI void APIENTRY glUniform2i64ARB (GLint location, GLint64 x, GLint64 y);
|
||||
GLAPI void APIENTRY glUniform3i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z);
|
||||
GLAPI void APIENTRY glUniform4i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
|
||||
GLAPI void APIENTRY glUniform1i64vARB (GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glUniform2i64vARB (GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glUniform3i64vARB (GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glUniform4i64vARB (GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glUniform1ui64ARB (GLint location, GLuint64 x);
|
||||
GLAPI void APIENTRY glUniform2ui64ARB (GLint location, GLuint64 x, GLuint64 y);
|
||||
GLAPI void APIENTRY glUniform3ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
|
||||
GLAPI void APIENTRY glUniform4ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
|
||||
GLAPI void APIENTRY glUniform1ui64vARB (GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glUniform2ui64vARB (GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glUniform3ui64vARB (GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glUniform4ui64vARB (GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glGetUniformi64vARB (GLuint program, GLint location, GLint64 *params);
|
||||
GLAPI void APIENTRY glGetUniformui64vARB (GLuint program, GLint location, GLuint64 *params);
|
||||
GLAPI void APIENTRY glGetnUniformi64vARB (GLuint program, GLint location, GLsizei bufSize, GLint64 *params);
|
||||
GLAPI void APIENTRY glGetnUniformui64vARB (GLuint program, GLint location, GLsizei bufSize, GLuint64 *params);
|
||||
GLAPI void APIENTRY glProgramUniform1i64ARB (GLuint program, GLint location, GLint64 x);
|
||||
GLAPI void APIENTRY glProgramUniform2i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y);
|
||||
GLAPI void APIENTRY glProgramUniform3i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z);
|
||||
GLAPI void APIENTRY glProgramUniform4i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
|
||||
GLAPI void APIENTRY glProgramUniform1i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform2i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform3i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform4i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform1ui64ARB (GLuint program, GLint location, GLuint64 x);
|
||||
GLAPI void APIENTRY glProgramUniform2ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y);
|
||||
GLAPI void APIENTRY glProgramUniform3ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
|
||||
GLAPI void APIENTRY glProgramUniform4ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
|
||||
GLAPI void APIENTRY glProgramUniform1ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform2ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform3ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform4ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
#endif
|
||||
#endif /* GL_ARB_gpu_shader_int64 */
|
||||
|
||||
#ifndef GL_ARB_half_float_pixel
|
||||
#define GL_ARB_half_float_pixel 1
|
||||
typedef unsigned short GLhalfARB;
|
||||
@@ -3727,6 +3835,16 @@ GLAPI void APIENTRY glGetQueryObjectuivARB (GLuint id, GLenum pname, GLuint *par
|
||||
#define GL_ARB_occlusion_query2 1
|
||||
#endif /* GL_ARB_occlusion_query2 */
|
||||
|
||||
#ifndef GL_ARB_parallel_shader_compile
|
||||
#define GL_ARB_parallel_shader_compile 1
|
||||
#define GL_MAX_SHADER_COMPILER_THREADS_ARB 0x91B0
|
||||
#define GL_COMPLETION_STATUS_ARB 0x91B1
|
||||
typedef void (APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSARBPROC) (GLuint count);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glMaxShaderCompilerThreadsARB (GLuint count);
|
||||
#endif
|
||||
#endif /* GL_ARB_parallel_shader_compile */
|
||||
|
||||
#ifndef GL_ARB_pipeline_statistics_query
|
||||
#define GL_ARB_pipeline_statistics_query 1
|
||||
#define GL_VERTICES_SUBMITTED_ARB 0x82EE
|
||||
@@ -3769,6 +3887,10 @@ GLAPI void APIENTRY glPointParameterfvARB (GLenum pname, const GLfloat *params);
|
||||
#define GL_COORD_REPLACE_ARB 0x8862
|
||||
#endif /* GL_ARB_point_sprite */
|
||||
|
||||
#ifndef GL_ARB_post_depth_coverage
|
||||
#define GL_ARB_post_depth_coverage 1
|
||||
#endif /* GL_ARB_post_depth_coverage */
|
||||
|
||||
#ifndef GL_ARB_program_interface_query
|
||||
#define GL_ARB_program_interface_query 1
|
||||
#endif /* GL_ARB_program_interface_query */
|
||||
@@ -3842,6 +3964,26 @@ GLAPI void APIENTRY glGetnMinmaxARB (GLenum target, GLboolean reset, GLenum form
|
||||
#define GL_ARB_robustness_isolation 1
|
||||
#endif /* GL_ARB_robustness_isolation */
|
||||
|
||||
#ifndef GL_ARB_sample_locations
|
||||
#define GL_ARB_sample_locations 1
|
||||
#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB 0x933D
|
||||
#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB 0x933E
|
||||
#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB 0x933F
|
||||
#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB 0x9340
|
||||
#define GL_SAMPLE_LOCATION_ARB 0x8E50
|
||||
#define GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB 0x9341
|
||||
#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB 0x9342
|
||||
#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB 0x9343
|
||||
typedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
|
||||
typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
|
||||
typedef void (APIENTRYP PFNGLEVALUATEDEPTHVALUESARBPROC) (void);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glFramebufferSampleLocationsfvARB (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
|
||||
GLAPI void APIENTRY glNamedFramebufferSampleLocationsfvARB (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
|
||||
GLAPI void APIENTRY glEvaluateDepthValuesARB (void);
|
||||
#endif
|
||||
#endif /* GL_ARB_sample_locations */
|
||||
|
||||
#ifndef GL_ARB_sample_shading
|
||||
#define GL_ARB_sample_shading 1
|
||||
#define GL_SAMPLE_SHADING_ARB 0x8C36
|
||||
@@ -3868,14 +4010,26 @@ GLAPI void APIENTRY glMinSampleShadingARB (GLfloat value);
|
||||
#define GL_ARB_separate_shader_objects 1
|
||||
#endif /* GL_ARB_separate_shader_objects */
|
||||
|
||||
#ifndef GL_ARB_shader_atomic_counter_ops
|
||||
#define GL_ARB_shader_atomic_counter_ops 1
|
||||
#endif /* GL_ARB_shader_atomic_counter_ops */
|
||||
|
||||
#ifndef GL_ARB_shader_atomic_counters
|
||||
#define GL_ARB_shader_atomic_counters 1
|
||||
#endif /* GL_ARB_shader_atomic_counters */
|
||||
|
||||
#ifndef GL_ARB_shader_ballot
|
||||
#define GL_ARB_shader_ballot 1
|
||||
#endif /* GL_ARB_shader_ballot */
|
||||
|
||||
#ifndef GL_ARB_shader_bit_encoding
|
||||
#define GL_ARB_shader_bit_encoding 1
|
||||
#endif /* GL_ARB_shader_bit_encoding */
|
||||
|
||||
#ifndef GL_ARB_shader_clock
|
||||
#define GL_ARB_shader_clock 1
|
||||
#endif /* GL_ARB_shader_clock */
|
||||
|
||||
#ifndef GL_ARB_shader_draw_parameters
|
||||
#define GL_ARB_shader_draw_parameters 1
|
||||
#endif /* GL_ARB_shader_draw_parameters */
|
||||
@@ -4040,6 +4194,10 @@ GLAPI void APIENTRY glGetShaderSourceARB (GLhandleARB obj, GLsizei maxLength, GL
|
||||
#define GL_ARB_shader_texture_lod 1
|
||||
#endif /* GL_ARB_shader_texture_lod */
|
||||
|
||||
#ifndef GL_ARB_shader_viewport_layer_array
|
||||
#define GL_ARB_shader_viewport_layer_array 1
|
||||
#endif /* GL_ARB_shader_viewport_layer_array */
|
||||
|
||||
#ifndef GL_ARB_shading_language_100
|
||||
#define GL_ARB_shading_language_100 1
|
||||
#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
|
||||
@@ -4119,6 +4277,14 @@ GLAPI void APIENTRY glTexPageCommitmentARB (GLenum target, GLint level, GLint xo
|
||||
#endif
|
||||
#endif /* GL_ARB_sparse_texture */
|
||||
|
||||
#ifndef GL_ARB_sparse_texture2
|
||||
#define GL_ARB_sparse_texture2 1
|
||||
#endif /* GL_ARB_sparse_texture2 */
|
||||
|
||||
#ifndef GL_ARB_sparse_texture_clamp
|
||||
#define GL_ARB_sparse_texture_clamp 1
|
||||
#endif /* GL_ARB_sparse_texture_clamp */
|
||||
|
||||
#ifndef GL_ARB_stencil_texturing
|
||||
#define GL_ARB_stencil_texturing 1
|
||||
#endif /* GL_ARB_stencil_texturing */
|
||||
@@ -4271,6 +4437,12 @@ GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum target, GLint level, void
|
||||
#define GL_DOT3_RGBA_ARB 0x86AF
|
||||
#endif /* GL_ARB_texture_env_dot3 */
|
||||
|
||||
#ifndef GL_ARB_texture_filter_minmax
|
||||
#define GL_ARB_texture_filter_minmax 1
|
||||
#define GL_TEXTURE_REDUCTION_MODE_ARB 0x9366
|
||||
#define GL_WEIGHTED_AVERAGE_ARB 0x9367
|
||||
#endif /* GL_ARB_texture_filter_minmax */
|
||||
|
||||
#ifndef GL_ARB_texture_float
|
||||
#define GL_ARB_texture_float 1
|
||||
#define GL_TEXTURE_RED_TYPE_ARB 0x8C10
|
||||
@@ -4815,6 +4987,10 @@ GLAPI void APIENTRY glBlendBarrierKHR (void);
|
||||
#define GL_KHR_texture_compression_astc_ldr 1
|
||||
#endif /* GL_KHR_texture_compression_astc_ldr */
|
||||
|
||||
#ifndef GL_KHR_texture_compression_astc_sliced_3d
|
||||
#define GL_KHR_texture_compression_astc_sliced_3d 1
|
||||
#endif /* GL_KHR_texture_compression_astc_sliced_3d */
|
||||
|
||||
#ifndef GL_OES_byte_coordinates
|
||||
#define GL_OES_byte_coordinates 1
|
||||
typedef void (APIENTRYP PFNGLMULTITEXCOORD1BOESPROC) (GLenum texture, GLbyte s);
|
||||
@@ -5206,10 +5382,45 @@ GLAPI void APIENTRY glBlendEquationSeparateIndexedAMD (GLuint buf, GLenum modeRG
|
||||
#endif
|
||||
#endif /* GL_AMD_draw_buffers_blend */
|
||||
|
||||
#ifndef GL_AMD_framebuffer_sample_positions
|
||||
#define GL_AMD_framebuffer_sample_positions 1
|
||||
#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F
|
||||
#define GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD 0x91AE
|
||||
#define GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD 0x91AF
|
||||
#define GL_ALL_PIXELS_AMD 0xFFFFFFFF
|
||||
typedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC) (GLenum target, GLuint numsamples, GLuint pixelindex, const GLfloat *values);
|
||||
typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC) (GLuint framebuffer, GLuint numsamples, GLuint pixelindex, const GLfloat *values);
|
||||
typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC) (GLenum target, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat *values);
|
||||
typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC) (GLuint framebuffer, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat *values);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glFramebufferSamplePositionsfvAMD (GLenum target, GLuint numsamples, GLuint pixelindex, const GLfloat *values);
|
||||
GLAPI void APIENTRY glNamedFramebufferSamplePositionsfvAMD (GLuint framebuffer, GLuint numsamples, GLuint pixelindex, const GLfloat *values);
|
||||
GLAPI void APIENTRY glGetFramebufferParameterfvAMD (GLenum target, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat *values);
|
||||
GLAPI void APIENTRY glGetNamedFramebufferParameterfvAMD (GLuint framebuffer, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat *values);
|
||||
#endif
|
||||
#endif /* GL_AMD_framebuffer_sample_positions */
|
||||
|
||||
#ifndef GL_AMD_gcn_shader
|
||||
#define GL_AMD_gcn_shader 1
|
||||
#endif /* GL_AMD_gcn_shader */
|
||||
|
||||
#ifndef GL_AMD_gpu_shader_half_float
|
||||
#define GL_AMD_gpu_shader_half_float 1
|
||||
#define GL_FLOAT16_NV 0x8FF8
|
||||
#define GL_FLOAT16_VEC2_NV 0x8FF9
|
||||
#define GL_FLOAT16_VEC3_NV 0x8FFA
|
||||
#define GL_FLOAT16_VEC4_NV 0x8FFB
|
||||
#define GL_FLOAT16_MAT2_AMD 0x91C5
|
||||
#define GL_FLOAT16_MAT3_AMD 0x91C6
|
||||
#define GL_FLOAT16_MAT4_AMD 0x91C7
|
||||
#define GL_FLOAT16_MAT2x3_AMD 0x91C8
|
||||
#define GL_FLOAT16_MAT2x4_AMD 0x91C9
|
||||
#define GL_FLOAT16_MAT3x2_AMD 0x91CA
|
||||
#define GL_FLOAT16_MAT3x4_AMD 0x91CB
|
||||
#define GL_FLOAT16_MAT4x2_AMD 0x91CC
|
||||
#define GL_FLOAT16_MAT4x3_AMD 0x91CD
|
||||
#endif /* GL_AMD_gpu_shader_half_float */
|
||||
|
||||
#ifndef GL_AMD_gpu_shader_int64
|
||||
#define GL_AMD_gpu_shader_int64 1
|
||||
typedef int64_t GLint64EXT;
|
||||
@@ -5237,10 +5448,6 @@ typedef int64_t GLint64EXT;
|
||||
#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5
|
||||
#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6
|
||||
#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7
|
||||
#define GL_FLOAT16_NV 0x8FF8
|
||||
#define GL_FLOAT16_VEC2_NV 0x8FF9
|
||||
#define GL_FLOAT16_VEC3_NV 0x8FFA
|
||||
#define GL_FLOAT16_VEC4_NV 0x8FFB
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
|
||||
@@ -5413,7 +5620,6 @@ GLAPI void APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname
|
||||
|
||||
#ifndef GL_AMD_sample_positions
|
||||
#define GL_AMD_sample_positions 1
|
||||
#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F
|
||||
typedef void (APIENTRYP PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat *val);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glSetMultisamplefvAMD (GLenum pname, GLuint index, const GLfloat *val);
|
||||
@@ -5428,6 +5634,14 @@ GLAPI void APIENTRY glSetMultisamplefvAMD (GLenum pname, GLuint index, const GLf
|
||||
#define GL_AMD_shader_atomic_counter_ops 1
|
||||
#endif /* GL_AMD_shader_atomic_counter_ops */
|
||||
|
||||
#ifndef GL_AMD_shader_ballot
|
||||
#define GL_AMD_shader_ballot 1
|
||||
#endif /* GL_AMD_shader_ballot */
|
||||
|
||||
#ifndef GL_AMD_shader_explicit_vertex_parameter
|
||||
#define GL_AMD_shader_explicit_vertex_parameter 1
|
||||
#endif /* GL_AMD_shader_explicit_vertex_parameter */
|
||||
|
||||
#ifndef GL_AMD_shader_stencil_export
|
||||
#define GL_AMD_shader_stencil_export 1
|
||||
#endif /* GL_AMD_shader_stencil_export */
|
||||
@@ -8468,6 +8682,20 @@ GLAPI void APIENTRY glVertexWeightPointerEXT (GLint size, GLenum type, GLsizei s
|
||||
#endif
|
||||
#endif /* GL_EXT_vertex_weighting */
|
||||
|
||||
#ifndef GL_EXT_window_rectangles
|
||||
#define GL_EXT_window_rectangles 1
|
||||
#define GL_INCLUSIVE_EXT 0x8F10
|
||||
#define GL_EXCLUSIVE_EXT 0x8F11
|
||||
#define GL_WINDOW_RECTANGLE_EXT 0x8F12
|
||||
#define GL_WINDOW_RECTANGLE_MODE_EXT 0x8F13
|
||||
#define GL_MAX_WINDOW_RECTANGLES_EXT 0x8F14
|
||||
#define GL_NUM_WINDOW_RECTANGLES_EXT 0x8F15
|
||||
typedef void (APIENTRYP PFNGLWINDOWRECTANGLESEXTPROC) (GLenum mode, GLsizei count, const GLint *box);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glWindowRectanglesEXT (GLenum mode, GLsizei count, const GLint *box);
|
||||
#endif
|
||||
#endif /* GL_EXT_window_rectangles */
|
||||
|
||||
#ifndef GL_EXT_x11_sync_object
|
||||
#define GL_EXT_x11_sync_object 1
|
||||
#define GL_SYNC_X11_FENCE_EXT 0x90E1
|
||||
@@ -8645,10 +8873,23 @@ GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum sfactorRGB, GLenum dfactorRG
|
||||
#define GL_INTERLACE_READ_INGR 0x8568
|
||||
#endif /* GL_INGR_interlace_read */
|
||||
|
||||
#ifndef GL_INTEL_conservative_rasterization
|
||||
#define GL_INTEL_conservative_rasterization 1
|
||||
#define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE
|
||||
#endif /* GL_INTEL_conservative_rasterization */
|
||||
|
||||
#ifndef GL_INTEL_fragment_shader_ordering
|
||||
#define GL_INTEL_fragment_shader_ordering 1
|
||||
#endif /* GL_INTEL_fragment_shader_ordering */
|
||||
|
||||
#ifndef GL_INTEL_framebuffer_CMAA
|
||||
#define GL_INTEL_framebuffer_CMAA 1
|
||||
typedef void (APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC) (void);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glApplyFramebufferAttachmentCMAAINTEL (void);
|
||||
#endif
|
||||
#endif /* GL_INTEL_framebuffer_CMAA */
|
||||
|
||||
#ifndef GL_INTEL_map_texture
|
||||
#define GL_INTEL_map_texture 1
|
||||
#define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF
|
||||
@@ -8753,6 +8994,10 @@ GLAPI void APIENTRY glResizeBuffersMESA (void);
|
||||
#endif
|
||||
#endif /* GL_MESA_resize_buffers */
|
||||
|
||||
#ifndef GL_MESA_shader_integer_functions
|
||||
#define GL_MESA_shader_integer_functions 1
|
||||
#endif /* GL_MESA_shader_integer_functions */
|
||||
|
||||
#ifndef GL_MESA_window_pos
|
||||
#define GL_MESA_window_pos 1
|
||||
typedef void (APIENTRYP PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y);
|
||||
@@ -8814,6 +9059,10 @@ GLAPI void APIENTRY glWindowPos4svMESA (const GLshort *v);
|
||||
#define GL_YCBCR_MESA 0x8757
|
||||
#endif /* GL_MESA_ycbcr_texture */
|
||||
|
||||
#ifndef GL_NVX_blend_equation_advanced_multi_draw_buffers
|
||||
#define GL_NVX_blend_equation_advanced_multi_draw_buffers 1
|
||||
#endif /* GL_NVX_blend_equation_advanced_multi_draw_buffers */
|
||||
|
||||
#ifndef GL_NVX_conditional_render
|
||||
#define GL_NVX_conditional_render 1
|
||||
typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVXPROC) (GLuint id);
|
||||
@@ -8833,6 +9082,32 @@ GLAPI void APIENTRY glEndConditionalRenderNVX (void);
|
||||
#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B
|
||||
#endif /* GL_NVX_gpu_memory_info */
|
||||
|
||||
#ifndef GL_NVX_linked_gpu_multicast
|
||||
#define GL_NVX_linked_gpu_multicast 1
|
||||
#define GL_LGPU_SEPARATE_STORAGE_BIT_NVX 0x0800
|
||||
#define GL_MAX_LGPU_GPUS_NVX 0x92BA
|
||||
typedef void (APIENTRYP PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC) (GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);
|
||||
typedef void (APIENTRYP PFNGLLGPUCOPYIMAGESUBDATANVXPROC) (GLuint sourceGpu, GLbitfield destinationGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srxY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
|
||||
typedef void (APIENTRYP PFNGLLGPUINTERLOCKNVXPROC) (void);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glLGPUNamedBufferSubDataNVX (GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);
|
||||
GLAPI void APIENTRY glLGPUCopyImageSubDataNVX (GLuint sourceGpu, GLbitfield destinationGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srxY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
|
||||
GLAPI void APIENTRY glLGPUInterlockNVX (void);
|
||||
#endif
|
||||
#endif /* GL_NVX_linked_gpu_multicast */
|
||||
|
||||
#ifndef GL_NV_alpha_to_coverage_dither_control
|
||||
#define GL_NV_alpha_to_coverage_dither_control 1
|
||||
#define GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV 0x934D
|
||||
#define GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV 0x934E
|
||||
#define GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV 0x934F
|
||||
#define GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV 0x92BF
|
||||
typedef void (APIENTRYP PFNGLALPHATOCOVERAGEDITHERCONTROLNVPROC) (GLenum mode);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glAlphaToCoverageDitherControlNV (GLenum mode);
|
||||
#endif
|
||||
#endif /* GL_NV_alpha_to_coverage_dither_control */
|
||||
|
||||
#ifndef GL_NV_bindless_multi_draw_indirect
|
||||
#define GL_NV_bindless_multi_draw_indirect 1
|
||||
typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);
|
||||
@@ -8953,6 +9228,17 @@ GLAPI void APIENTRY glBlendBarrierNV (void);
|
||||
#define GL_NV_blend_square 1
|
||||
#endif /* GL_NV_blend_square */
|
||||
|
||||
#ifndef GL_NV_clip_space_w_scaling
|
||||
#define GL_NV_clip_space_w_scaling 1
|
||||
#define GL_VIEWPORT_POSITION_W_SCALE_NV 0x937C
|
||||
#define GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV 0x937D
|
||||
#define GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV 0x937E
|
||||
typedef void (APIENTRYP PFNGLVIEWPORTPOSITIONWSCALENVPROC) (GLuint index, GLfloat xcoeff, GLfloat ycoeff);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glViewportPositionWScaleNV (GLuint index, GLfloat xcoeff, GLfloat ycoeff);
|
||||
#endif
|
||||
#endif /* GL_NV_clip_space_w_scaling */
|
||||
|
||||
#ifndef GL_NV_command_list
|
||||
#define GL_NV_command_list 1
|
||||
#define GL_TERMINATE_SEQUENCE_COMMAND_NV 0x0000
|
||||
@@ -9044,6 +9330,28 @@ GLAPI void APIENTRY glSubpixelPrecisionBiasNV (GLuint xbits, GLuint ybits);
|
||||
#endif
|
||||
#endif /* GL_NV_conservative_raster */
|
||||
|
||||
#ifndef GL_NV_conservative_raster_dilate
|
||||
#define GL_NV_conservative_raster_dilate 1
|
||||
#define GL_CONSERVATIVE_RASTER_DILATE_NV 0x9379
|
||||
#define GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV 0x937A
|
||||
#define GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV 0x937B
|
||||
typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERFNVPROC) (GLenum pname, GLfloat value);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glConservativeRasterParameterfNV (GLenum pname, GLfloat value);
|
||||
#endif
|
||||
#endif /* GL_NV_conservative_raster_dilate */
|
||||
|
||||
#ifndef GL_NV_conservative_raster_pre_snap_triangles
|
||||
#define GL_NV_conservative_raster_pre_snap_triangles 1
|
||||
#define GL_CONSERVATIVE_RASTER_MODE_NV 0x954D
|
||||
#define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV 0x954E
|
||||
#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV 0x954F
|
||||
typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC) (GLenum pname, GLint param);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glConservativeRasterParameteriNV (GLenum pname, GLint param);
|
||||
#endif
|
||||
#endif /* GL_NV_conservative_raster_pre_snap_triangles */
|
||||
|
||||
#ifndef GL_NV_copy_depth_to_color
|
||||
#define GL_NV_copy_depth_to_color 1
|
||||
#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
|
||||
@@ -9093,6 +9401,23 @@ GLAPI void APIENTRY glDrawTextureNV (GLuint texture, GLuint sampler, GLfloat x0,
|
||||
#endif
|
||||
#endif /* GL_NV_draw_texture */
|
||||
|
||||
#ifndef GL_NV_draw_vulkan_image
|
||||
#define GL_NV_draw_vulkan_image 1
|
||||
typedef void (APIENTRY *GLVULKANPROCNV)(void);
|
||||
typedef void (APIENTRYP PFNGLDRAWVKIMAGENVPROC) (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);
|
||||
typedef GLVULKANPROCNV (APIENTRYP PFNGLGETVKPROCADDRNVPROC) (const GLchar *name);
|
||||
typedef void (APIENTRYP PFNGLWAITVKSEMAPHORENVPROC) (GLuint64 vkSemaphore);
|
||||
typedef void (APIENTRYP PFNGLSIGNALVKSEMAPHORENVPROC) (GLuint64 vkSemaphore);
|
||||
typedef void (APIENTRYP PFNGLSIGNALVKFENCENVPROC) (GLuint64 vkFence);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glDrawVkImageNV (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);
|
||||
GLAPI GLVULKANPROCNV APIENTRY glGetVkProcAddrNV (const GLchar *name);
|
||||
GLAPI void APIENTRY glWaitVkSemaphoreNV (GLuint64 vkSemaphore);
|
||||
GLAPI void APIENTRY glSignalVkSemaphoreNV (GLuint64 vkSemaphore);
|
||||
GLAPI void APIENTRY glSignalVkFenceNV (GLuint64 vkFence);
|
||||
#endif
|
||||
#endif /* GL_NV_draw_vulkan_image */
|
||||
|
||||
#ifndef GL_NV_evaluators
|
||||
#define GL_NV_evaluators 1
|
||||
#define GL_EVAL_2D_NV 0x86C0
|
||||
@@ -9327,6 +9652,41 @@ GLAPI void APIENTRY glFramebufferTextureFaceEXT (GLenum target, GLenum attachmen
|
||||
#define GL_NV_geometry_shader_passthrough 1
|
||||
#endif /* GL_NV_geometry_shader_passthrough */
|
||||
|
||||
#ifndef GL_NV_gpu_multicast
|
||||
#define GL_NV_gpu_multicast 1
|
||||
#define GL_PER_GPU_STORAGE_BIT_NV 0x0800
|
||||
#define GL_MULTICAST_GPUS_NV 0x92BA
|
||||
#define GL_RENDER_GPU_MASK_NV 0x9558
|
||||
#define GL_PER_GPU_STORAGE_NV 0x9548
|
||||
#define GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9549
|
||||
typedef void (APIENTRYP PFNGLRENDERGPUMASKNVPROC) (GLbitfield mask);
|
||||
typedef void (APIENTRYP PFNGLMULTICASTBUFFERSUBDATANVPROC) (GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
|
||||
typedef void (APIENTRYP PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC) (GLuint readGpu, GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
|
||||
typedef void (APIENTRYP PFNGLMULTICASTCOPYIMAGESUBDATANVPROC) (GLuint srcGpu, GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
|
||||
typedef void (APIENTRYP PFNGLMULTICASTBLITFRAMEBUFFERNVPROC) (GLuint srcGpu, GLuint dstGpu, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||
typedef void (APIENTRYP PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLuint gpu, GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
|
||||
typedef void (APIENTRYP PFNGLMULTICASTBARRIERNVPROC) (void);
|
||||
typedef void (APIENTRYP PFNGLMULTICASTWAITSYNCNVPROC) (GLuint signalGpu, GLbitfield waitGpuMask);
|
||||
typedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTIVNVPROC) (GLuint gpu, GLuint id, GLenum pname, GLint *params);
|
||||
typedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC) (GLuint gpu, GLuint id, GLenum pname, GLuint *params);
|
||||
typedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC) (GLuint gpu, GLuint id, GLenum pname, GLint64 *params);
|
||||
typedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC) (GLuint gpu, GLuint id, GLenum pname, GLuint64 *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glRenderGpuMaskNV (GLbitfield mask);
|
||||
GLAPI void APIENTRY glMulticastBufferSubDataNV (GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
|
||||
GLAPI void APIENTRY glMulticastCopyBufferSubDataNV (GLuint readGpu, GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
|
||||
GLAPI void APIENTRY glMulticastCopyImageSubDataNV (GLuint srcGpu, GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
|
||||
GLAPI void APIENTRY glMulticastBlitFramebufferNV (GLuint srcGpu, GLuint dstGpu, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||
GLAPI void APIENTRY glMulticastFramebufferSampleLocationsfvNV (GLuint gpu, GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
|
||||
GLAPI void APIENTRY glMulticastBarrierNV (void);
|
||||
GLAPI void APIENTRY glMulticastWaitSyncNV (GLuint signalGpu, GLbitfield waitGpuMask);
|
||||
GLAPI void APIENTRY glMulticastGetQueryObjectivNV (GLuint gpu, GLuint id, GLenum pname, GLint *params);
|
||||
GLAPI void APIENTRY glMulticastGetQueryObjectuivNV (GLuint gpu, GLuint id, GLenum pname, GLuint *params);
|
||||
GLAPI void APIENTRY glMulticastGetQueryObjecti64vNV (GLuint gpu, GLuint id, GLenum pname, GLint64 *params);
|
||||
GLAPI void APIENTRY glMulticastGetQueryObjectui64vNV (GLuint gpu, GLuint id, GLenum pname, GLuint64 *params);
|
||||
#endif
|
||||
#endif /* GL_NV_gpu_multicast */
|
||||
|
||||
#ifndef GL_NV_gpu_program4
|
||||
#define GL_NV_gpu_program4 1
|
||||
#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904
|
||||
@@ -10036,6 +10396,11 @@ GLAPI void APIENTRY glGetCombinerStageParameterfvNV (GLenum stage, GLenum pname,
|
||||
#endif
|
||||
#endif /* GL_NV_register_combiners2 */
|
||||
|
||||
#ifndef GL_NV_robustness_video_memory_purge
|
||||
#define GL_NV_robustness_video_memory_purge 1
|
||||
#define GL_PURGED_CONTEXT_RESET_NV 0x92BB
|
||||
#endif /* GL_NV_robustness_video_memory_purge */
|
||||
|
||||
#ifndef GL_NV_sample_locations
|
||||
#define GL_NV_sample_locations 1
|
||||
#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D
|
||||
@@ -10068,6 +10433,10 @@ GLAPI void APIENTRY glResolveDepthValuesNV (void);
|
||||
#define GL_NV_shader_atomic_float 1
|
||||
#endif /* GL_NV_shader_atomic_float */
|
||||
|
||||
#ifndef GL_NV_shader_atomic_float64
|
||||
#define GL_NV_shader_atomic_float64 1
|
||||
#endif /* GL_NV_shader_atomic_float64 */
|
||||
|
||||
#ifndef GL_NV_shader_atomic_fp16_vector
|
||||
#define GL_NV_shader_atomic_fp16_vector 1
|
||||
#endif /* GL_NV_shader_atomic_fp16_vector */
|
||||
@@ -10131,6 +10500,10 @@ GLAPI void APIENTRY glProgramUniformui64vNV (GLuint program, GLint location, GLs
|
||||
#define GL_NV_shader_thread_shuffle 1
|
||||
#endif /* GL_NV_shader_thread_shuffle */
|
||||
|
||||
#ifndef GL_NV_stereo_view_rendering
|
||||
#define GL_NV_stereo_view_rendering 1
|
||||
#endif /* GL_NV_stereo_view_rendering */
|
||||
|
||||
#ifndef GL_NV_tessellation_program5
|
||||
#define GL_NV_tessellation_program5 1
|
||||
#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8
|
||||
@@ -10901,6 +11274,26 @@ GLAPI void APIENTRY glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot
|
||||
#define GL_NV_viewport_array2 1
|
||||
#endif /* GL_NV_viewport_array2 */
|
||||
|
||||
#ifndef GL_NV_viewport_swizzle
|
||||
#define GL_NV_viewport_swizzle 1
|
||||
#define GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV 0x9350
|
||||
#define GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV 0x9351
|
||||
#define GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV 0x9352
|
||||
#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV 0x9353
|
||||
#define GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV 0x9354
|
||||
#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV 0x9355
|
||||
#define GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV 0x9356
|
||||
#define GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV 0x9357
|
||||
#define GL_VIEWPORT_SWIZZLE_X_NV 0x9358
|
||||
#define GL_VIEWPORT_SWIZZLE_Y_NV 0x9359
|
||||
#define GL_VIEWPORT_SWIZZLE_Z_NV 0x935A
|
||||
#define GL_VIEWPORT_SWIZZLE_W_NV 0x935B
|
||||
typedef void (APIENTRYP PFNGLVIEWPORTSWIZZLENVPROC) (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glViewportSwizzleNV (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew);
|
||||
#endif
|
||||
#endif /* GL_NV_viewport_swizzle */
|
||||
|
||||
#ifndef GL_OML_interlace
|
||||
#define GL_OML_interlace 1
|
||||
#define GL_INTERLACE_OML 0x8980
|
||||
@@ -10928,6 +11321,7 @@ GLAPI void APIENTRY glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR 0x9630
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632
|
||||
#define GL_MAX_VIEWS_OVR 0x9631
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633
|
||||
typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
|
||||
|
||||
Vendored
+1
-1
Submodule 3rdparty/GSL updated: fc5fce4f4f...96eaf274f8
Vendored
+1
-1
Submodule 3rdparty/ffmpeg updated: 8dd84dc1ea...2f6023d14a
Vendored
+1156
-4571
File diff suppressed because it is too large
Load Diff
Vendored
+777
-3138
File diff suppressed because it is too large
Load Diff
Vendored
+46
-651
@@ -33,20 +33,14 @@ typedef interface ID2D1Device1 ID2D1Device1;
|
||||
|
||||
#endif
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_RENDERING_PRIORITY
|
||||
//
|
||||
// Synopsis:
|
||||
// Specifies the extent to which D2D will throttle work sent to the GPU.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Specifies the extent to which D2D will throttle work sent to the GPU.
|
||||
/// </summary>
|
||||
typedef enum D2D1_RENDERING_PRIORITY
|
||||
{
|
||||
D2D1_RENDERING_PRIORITY_NORMAL = 0,
|
||||
D2D1_RENDERING_PRIORITY_LOW = 1,
|
||||
D2D1_RENDERING_PRIORITY_FORCE_DWORD = 0xffffffff
|
||||
D2D1_RENDERING_PRIORITY_NORMAL = 0,
|
||||
D2D1_RENDERING_PRIORITY_LOW = 1,
|
||||
D2D1_RENDERING_PRIORITY_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_RENDERING_PRIORITY;
|
||||
|
||||
@@ -54,32 +48,25 @@ typedef enum D2D1_RENDERING_PRIORITY
|
||||
#ifndef D2D_USE_C_DEFINITIONS
|
||||
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Interface:
|
||||
// ID2D1GeometryRealization
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Encapsulates a device- and transform-dependent representation of a filled or
|
||||
/// stroked geometry.
|
||||
/// </summary>
|
||||
interface DX_DECLARE_INTERFACE("a16907d7-bc02-4801-99e8-8cf7f485f774") ID2D1GeometryRealization : public ID2D1Resource
|
||||
{
|
||||
}; // interface ID2D1GeometryRealization
|
||||
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Interface:
|
||||
// ID2D1DeviceContext1
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Enables creation and drawing of geometry realization objects.
|
||||
/// </summary>
|
||||
interface DX_DECLARE_INTERFACE("d37f57e4-6908-459f-a199-e72f24f79987") ID2D1DeviceContext1 : public ID2D1DeviceContext
|
||||
{
|
||||
|
||||
STDMETHOD(CreateFilledGeometryRealization)(
|
||||
_In_ ID2D1Geometry *geometry,
|
||||
FLOAT flatteningTolerance,
|
||||
_Outptr_ ID2D1GeometryRealization **geometryRealization
|
||||
_COM_Outptr_ ID2D1GeometryRealization **geometryRealization
|
||||
) PURE;
|
||||
|
||||
STDMETHOD(CreateStrokedGeometryRealization)(
|
||||
@@ -87,7 +74,7 @@ interface DX_DECLARE_INTERFACE("d37f57e4-6908-459f-a199-e72f24f79987") ID2D1Devi
|
||||
FLOAT flatteningTolerance,
|
||||
FLOAT strokeWidth,
|
||||
_In_opt_ ID2D1StrokeStyle *strokeStyle,
|
||||
_Outptr_ ID2D1GeometryRealization **geometryRealization
|
||||
_COM_Outptr_ ID2D1GeometryRealization **geometryRealization
|
||||
) PURE;
|
||||
|
||||
STDMETHOD_(void, DrawGeometryRealization)(
|
||||
@@ -97,82 +84,69 @@ interface DX_DECLARE_INTERFACE("d37f57e4-6908-459f-a199-e72f24f79987") ID2D1Devi
|
||||
}; // interface ID2D1DeviceContext1
|
||||
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Interface:
|
||||
// ID2D1Device1
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Represents a resource domain whose objects and device contexts can be used
|
||||
/// together.
|
||||
/// </summary>
|
||||
interface DX_DECLARE_INTERFACE("d21768e1-23a4-4823-a14b-7c3eba85d658") ID2D1Device1 : public ID2D1Device
|
||||
{
|
||||
|
||||
|
||||
//
|
||||
// Retrieves the rendering priority currently set on the device.
|
||||
//
|
||||
/// <summary>
|
||||
/// Retrieves the rendering priority currently set on the device.
|
||||
/// </summary>
|
||||
STDMETHOD_(D2D1_RENDERING_PRIORITY, GetRenderingPriority)(
|
||||
) PURE;
|
||||
|
||||
|
||||
//
|
||||
// Sets the rendering priority of the device.
|
||||
//
|
||||
/// <summary>
|
||||
/// Sets the rendering priority of the device.
|
||||
/// </summary>
|
||||
STDMETHOD_(void, SetRenderingPriority)(
|
||||
D2D1_RENDERING_PRIORITY renderingPriority
|
||||
) PURE;
|
||||
|
||||
|
||||
//
|
||||
// Creates a new device context with no initially assigned target.
|
||||
//
|
||||
/// <summary>
|
||||
/// Creates a new device context with no initially assigned target.
|
||||
/// </summary>
|
||||
STDMETHOD(CreateDeviceContext)(
|
||||
D2D1_DEVICE_CONTEXT_OPTIONS options,
|
||||
_Outptr_ ID2D1DeviceContext1 **deviceContext1
|
||||
_COM_Outptr_ ID2D1DeviceContext1 **deviceContext1
|
||||
) PURE;
|
||||
|
||||
using ID2D1Device::CreateDeviceContext;
|
||||
}; // interface ID2D1Device1
|
||||
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Interface:
|
||||
// ID2D1Factory2
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Creates Direct2D resources. This interface also enables the creation of
|
||||
/// ID2D1Device1 objects.
|
||||
/// </summary>
|
||||
interface DX_DECLARE_INTERFACE("94f81a73-9212-4376-9c58-b16a3a0d3992") ID2D1Factory2 : public ID2D1Factory1
|
||||
{
|
||||
|
||||
|
||||
//
|
||||
// This creates a new Direct2D device from the given IDXGIDevice.
|
||||
//
|
||||
/// <summary>
|
||||
/// This creates a new Direct2D device from the given IDXGIDevice.
|
||||
/// </summary>
|
||||
STDMETHOD(CreateDevice)(
|
||||
_In_ IDXGIDevice *dxgiDevice,
|
||||
_Outptr_ ID2D1Device1 **d2dDevice1
|
||||
_COM_Outptr_ ID2D1Device1 **d2dDevice1
|
||||
) PURE;
|
||||
|
||||
using ID2D1Factory1::CreateDevice;
|
||||
}; // interface ID2D1Factory2
|
||||
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Interface:
|
||||
// ID2D1CommandSink1
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// This interface performs all the same functions as the existing ID2D1CommandSink
|
||||
/// interface. It also enables access to the new primitive blend modes, MIN and ADD,
|
||||
/// through its SetPrimitiveBlend1 method.
|
||||
/// </summary>
|
||||
interface DX_DECLARE_INTERFACE("9eb767fd-4269-4467-b8c2-eb30cb305743") ID2D1CommandSink1 : public ID2D1CommandSink
|
||||
{
|
||||
|
||||
|
||||
//
|
||||
// This method is called if primitiveBlend value was added after Windows 8.
|
||||
// SetPrimitiveBlend method is used for Win8 values (_SOURCE_OVER and _COPY).
|
||||
//
|
||||
/// <summary>
|
||||
/// This method is called if primitiveBlend value was added after Windows 8.
|
||||
/// SetPrimitiveBlend method is used for Win8 values (_SOURCE_OVER and _COPY).
|
||||
/// </summary>
|
||||
STDMETHOD(SetPrimitiveBlend1)(
|
||||
D2D1_PRIMITIVE_BLEND primitiveBlend
|
||||
) PURE;
|
||||
@@ -195,593 +169,14 @@ EXTERN_C CONST IID IID_ID2D1CommandSink1;
|
||||
|
||||
typedef interface ID2D1GeometryRealization ID2D1GeometryRealization;
|
||||
|
||||
typedef struct ID2D1GeometryRealizationVtbl
|
||||
{
|
||||
|
||||
ID2D1ResourceVtbl Base;
|
||||
|
||||
} ID2D1GeometryRealizationVtbl;
|
||||
|
||||
interface ID2D1GeometryRealization
|
||||
{
|
||||
CONST struct ID2D1GeometryRealizationVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
#define ID2D1GeometryRealization_QueryInterface(This, riid, ppv) \
|
||||
((This)->lpVtbl->Base.Base.QueryInterface((IUnknown *)This, riid, ppv))
|
||||
|
||||
#define ID2D1GeometryRealization_AddRef(This) \
|
||||
((This)->lpVtbl->Base.Base.AddRef((IUnknown *)This))
|
||||
|
||||
#define ID2D1GeometryRealization_Release(This) \
|
||||
((This)->lpVtbl->Base.Base.Release((IUnknown *)This))
|
||||
|
||||
#define ID2D1GeometryRealization_GetFactory(This, factory) \
|
||||
((This)->lpVtbl->Base.GetFactory((ID2D1Resource *)This, factory))
|
||||
|
||||
typedef interface ID2D1DeviceContext1 ID2D1DeviceContext1;
|
||||
|
||||
typedef struct ID2D1DeviceContext1Vtbl
|
||||
{
|
||||
|
||||
ID2D1DeviceContextVtbl Base;
|
||||
|
||||
|
||||
STDMETHOD(CreateFilledGeometryRealization)(
|
||||
ID2D1DeviceContext1 *This,
|
||||
_In_ ID2D1Geometry *geometry,
|
||||
FLOAT flatteningTolerance,
|
||||
_Outptr_ ID2D1GeometryRealization **geometryRealization
|
||||
) PURE;
|
||||
|
||||
STDMETHOD(CreateStrokedGeometryRealization)(
|
||||
ID2D1DeviceContext1 *This,
|
||||
_In_ ID2D1Geometry *geometry,
|
||||
FLOAT flatteningTolerance,
|
||||
FLOAT strokeWidth,
|
||||
_In_opt_ ID2D1StrokeStyle *strokeStyle,
|
||||
_Outptr_ ID2D1GeometryRealization **geometryRealization
|
||||
) PURE;
|
||||
|
||||
STDMETHOD_(void, DrawGeometryRealization)(
|
||||
ID2D1DeviceContext1 *This,
|
||||
_In_ ID2D1GeometryRealization *geometryRealization,
|
||||
_In_ ID2D1Brush *brush
|
||||
) PURE;
|
||||
} ID2D1DeviceContext1Vtbl;
|
||||
|
||||
interface ID2D1DeviceContext1
|
||||
{
|
||||
CONST struct ID2D1DeviceContext1Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
#define ID2D1DeviceContext1_QueryInterface(This, riid, ppv) \
|
||||
((This)->lpVtbl->Base.Base.Base.Base.QueryInterface((IUnknown *)This, riid, ppv))
|
||||
|
||||
#define ID2D1DeviceContext1_AddRef(This) \
|
||||
((This)->lpVtbl->Base.Base.Base.Base.AddRef((IUnknown *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_Release(This) \
|
||||
((This)->lpVtbl->Base.Base.Base.Base.Release((IUnknown *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_GetFactory(This, factory) \
|
||||
((This)->lpVtbl->Base.Base.Base.GetFactory((ID2D1Resource *)This, factory))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateSharedBitmap(This, riid, data, bitmapProperties, bitmap) \
|
||||
((This)->lpVtbl->Base.Base.CreateSharedBitmap((ID2D1RenderTarget *)This, riid, data, bitmapProperties, bitmap))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateSolidColorBrush(This, color, brushProperties, solidColorBrush) \
|
||||
((This)->lpVtbl->Base.Base.CreateSolidColorBrush((ID2D1RenderTarget *)This, color, brushProperties, solidColorBrush))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateLinearGradientBrush(This, linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush) \
|
||||
((This)->lpVtbl->Base.Base.CreateLinearGradientBrush((ID2D1RenderTarget *)This, linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateRadialGradientBrush(This, radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush) \
|
||||
((This)->lpVtbl->Base.Base.CreateRadialGradientBrush((ID2D1RenderTarget *)This, radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateCompatibleRenderTarget(This, desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget) \
|
||||
((This)->lpVtbl->Base.Base.CreateCompatibleRenderTarget((ID2D1RenderTarget *)This, desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateLayer(This, size, layer) \
|
||||
((This)->lpVtbl->Base.Base.CreateLayer((ID2D1RenderTarget *)This, size, layer))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateMesh(This, mesh) \
|
||||
((This)->lpVtbl->Base.Base.CreateMesh((ID2D1RenderTarget *)This, mesh))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawLine(This, point0, point1, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.Base.DrawLine((ID2D1RenderTarget *)This, point0, point1, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawRectangle(This, rect, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.Base.DrawRectangle((ID2D1RenderTarget *)This, rect, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1DeviceContext1_FillRectangle(This, rect, brush) \
|
||||
((This)->lpVtbl->Base.Base.FillRectangle((ID2D1RenderTarget *)This, rect, brush))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawRoundedRectangle(This, roundedRect, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.Base.DrawRoundedRectangle((ID2D1RenderTarget *)This, roundedRect, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1DeviceContext1_FillRoundedRectangle(This, roundedRect, brush) \
|
||||
((This)->lpVtbl->Base.Base.FillRoundedRectangle((ID2D1RenderTarget *)This, roundedRect, brush))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawEllipse(This, ellipse, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.Base.DrawEllipse((ID2D1RenderTarget *)This, ellipse, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1DeviceContext1_FillEllipse(This, ellipse, brush) \
|
||||
((This)->lpVtbl->Base.Base.FillEllipse((ID2D1RenderTarget *)This, ellipse, brush))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawGeometry(This, geometry, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.Base.DrawGeometry((ID2D1RenderTarget *)This, geometry, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1DeviceContext1_FillGeometry(This, geometry, brush, opacityBrush) \
|
||||
((This)->lpVtbl->Base.Base.FillGeometry((ID2D1RenderTarget *)This, geometry, brush, opacityBrush))
|
||||
|
||||
#define ID2D1DeviceContext1_FillMesh(This, mesh, brush) \
|
||||
((This)->lpVtbl->Base.Base.FillMesh((ID2D1RenderTarget *)This, mesh, brush))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawText(This, string, stringLength, textFormat, layoutRect, defaultForegroundBrush, options, measuringMode) \
|
||||
((This)->lpVtbl->Base.Base.DrawText((ID2D1RenderTarget *)This, string, stringLength, textFormat, layoutRect, defaultForegroundBrush, options, measuringMode))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawTextLayout(This, origin, textLayout, defaultForegroundBrush, options) \
|
||||
((This)->lpVtbl->Base.Base.DrawTextLayout((ID2D1RenderTarget *)This, origin, textLayout, defaultForegroundBrush, options))
|
||||
|
||||
#define ID2D1DeviceContext1_SetTransform(This, transform) \
|
||||
((This)->lpVtbl->Base.Base.SetTransform((ID2D1RenderTarget *)This, transform))
|
||||
|
||||
#define ID2D1DeviceContext1_GetTransform(This, transform) \
|
||||
((This)->lpVtbl->Base.Base.GetTransform((ID2D1RenderTarget *)This, transform))
|
||||
|
||||
#define ID2D1DeviceContext1_SetAntialiasMode(This, antialiasMode) \
|
||||
((This)->lpVtbl->Base.Base.SetAntialiasMode((ID2D1RenderTarget *)This, antialiasMode))
|
||||
|
||||
#define ID2D1DeviceContext1_GetAntialiasMode(This) \
|
||||
((This)->lpVtbl->Base.Base.GetAntialiasMode((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_SetTextAntialiasMode(This, textAntialiasMode) \
|
||||
((This)->lpVtbl->Base.Base.SetTextAntialiasMode((ID2D1RenderTarget *)This, textAntialiasMode))
|
||||
|
||||
#define ID2D1DeviceContext1_GetTextAntialiasMode(This) \
|
||||
((This)->lpVtbl->Base.Base.GetTextAntialiasMode((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_SetTextRenderingParams(This, textRenderingParams) \
|
||||
((This)->lpVtbl->Base.Base.SetTextRenderingParams((ID2D1RenderTarget *)This, textRenderingParams))
|
||||
|
||||
#define ID2D1DeviceContext1_GetTextRenderingParams(This, textRenderingParams) \
|
||||
((This)->lpVtbl->Base.Base.GetTextRenderingParams((ID2D1RenderTarget *)This, textRenderingParams))
|
||||
|
||||
#define ID2D1DeviceContext1_SetTags(This, tag1, tag2) \
|
||||
((This)->lpVtbl->Base.Base.SetTags((ID2D1RenderTarget *)This, tag1, tag2))
|
||||
|
||||
#define ID2D1DeviceContext1_GetTags(This, tag1, tag2) \
|
||||
((This)->lpVtbl->Base.Base.GetTags((ID2D1RenderTarget *)This, tag1, tag2))
|
||||
|
||||
#define ID2D1DeviceContext1_PopLayer(This) \
|
||||
((This)->lpVtbl->Base.Base.PopLayer((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_Flush(This, tag1, tag2) \
|
||||
((This)->lpVtbl->Base.Base.Flush((ID2D1RenderTarget *)This, tag1, tag2))
|
||||
|
||||
#define ID2D1DeviceContext1_SaveDrawingState(This, drawingStateBlock) \
|
||||
((This)->lpVtbl->Base.Base.SaveDrawingState((ID2D1RenderTarget *)This, drawingStateBlock))
|
||||
|
||||
#define ID2D1DeviceContext1_RestoreDrawingState(This, drawingStateBlock) \
|
||||
((This)->lpVtbl->Base.Base.RestoreDrawingState((ID2D1RenderTarget *)This, drawingStateBlock))
|
||||
|
||||
#define ID2D1DeviceContext1_PushAxisAlignedClip(This, clipRect, antialiasMode) \
|
||||
((This)->lpVtbl->Base.Base.PushAxisAlignedClip((ID2D1RenderTarget *)This, clipRect, antialiasMode))
|
||||
|
||||
#define ID2D1DeviceContext1_PopAxisAlignedClip(This) \
|
||||
((This)->lpVtbl->Base.Base.PopAxisAlignedClip((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_Clear(This, clearColor) \
|
||||
((This)->lpVtbl->Base.Base.Clear((ID2D1RenderTarget *)This, clearColor))
|
||||
|
||||
#define ID2D1DeviceContext1_BeginDraw(This) \
|
||||
((This)->lpVtbl->Base.Base.BeginDraw((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_EndDraw(This, tag1, tag2) \
|
||||
((This)->lpVtbl->Base.Base.EndDraw((ID2D1RenderTarget *)This, tag1, tag2))
|
||||
|
||||
#define ID2D1DeviceContext1_GetPixelFormat(This) \
|
||||
((This)->lpVtbl->Base.Base.GetPixelFormat((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_SetDpi(This, dpiX, dpiY) \
|
||||
((This)->lpVtbl->Base.Base.SetDpi((ID2D1RenderTarget *)This, dpiX, dpiY))
|
||||
|
||||
#define ID2D1DeviceContext1_GetDpi(This, dpiX, dpiY) \
|
||||
((This)->lpVtbl->Base.Base.GetDpi((ID2D1RenderTarget *)This, dpiX, dpiY))
|
||||
|
||||
#define ID2D1DeviceContext1_GetSize(This) \
|
||||
((This)->lpVtbl->Base.Base.GetSize((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_GetPixelSize(This) \
|
||||
((This)->lpVtbl->Base.Base.GetPixelSize((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_GetMaximumBitmapSize(This) \
|
||||
((This)->lpVtbl->Base.Base.GetMaximumBitmapSize((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_IsSupported(This, renderTargetProperties) \
|
||||
((This)->lpVtbl->Base.Base.IsSupported((ID2D1RenderTarget *)This, renderTargetProperties))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateBitmap(This, size, sourceData, pitch, bitmapProperties, bitmap) \
|
||||
((This)->lpVtbl->Base.CreateBitmap((ID2D1DeviceContext *)This, size, sourceData, pitch, bitmapProperties, bitmap))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateBitmapFromWicBitmap(This, wicBitmapSource, bitmapProperties, bitmap) \
|
||||
((This)->lpVtbl->Base.CreateBitmapFromWicBitmap((ID2D1DeviceContext *)This, wicBitmapSource, bitmapProperties, bitmap))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateColorContext(This, space, profile, profileSize, colorContext) \
|
||||
((This)->lpVtbl->Base.CreateColorContext((ID2D1DeviceContext *)This, space, profile, profileSize, colorContext))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateColorContextFromFilename(This, filename, colorContext) \
|
||||
((This)->lpVtbl->Base.CreateColorContextFromFilename((ID2D1DeviceContext *)This, filename, colorContext))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateColorContextFromWicColorContext(This, wicColorContext, colorContext) \
|
||||
((This)->lpVtbl->Base.CreateColorContextFromWicColorContext((ID2D1DeviceContext *)This, wicColorContext, colorContext))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateBitmapFromDxgiSurface(This, surface, bitmapProperties, bitmap) \
|
||||
((This)->lpVtbl->Base.CreateBitmapFromDxgiSurface((ID2D1DeviceContext *)This, surface, bitmapProperties, bitmap))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateEffect(This, effectId, effect) \
|
||||
((This)->lpVtbl->Base.CreateEffect((ID2D1DeviceContext *)This, effectId, effect))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateGradientStopCollection(This, straightAlphaGradientStops, straightAlphaGradientStopsCount, preInterpolationSpace, postInterpolationSpace, bufferPrecision, extendMode, colorInterpolationMode, gradientStopCollection1) \
|
||||
((This)->lpVtbl->Base.CreateGradientStopCollection((ID2D1DeviceContext *)This, straightAlphaGradientStops, straightAlphaGradientStopsCount, preInterpolationSpace, postInterpolationSpace, bufferPrecision, extendMode, colorInterpolationMode, gradientStopCollection1))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateImageBrush(This, image, imageBrushProperties, brushProperties, imageBrush) \
|
||||
((This)->lpVtbl->Base.CreateImageBrush((ID2D1DeviceContext *)This, image, imageBrushProperties, brushProperties, imageBrush))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateBitmapBrush(This, bitmap, bitmapBrushProperties, brushProperties, bitmapBrush) \
|
||||
((This)->lpVtbl->Base.CreateBitmapBrush((ID2D1DeviceContext *)This, bitmap, bitmapBrushProperties, brushProperties, bitmapBrush))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateCommandList(This, commandList) \
|
||||
((This)->lpVtbl->Base.CreateCommandList((ID2D1DeviceContext *)This, commandList))
|
||||
|
||||
#define ID2D1DeviceContext1_IsDxgiFormatSupported(This, format) \
|
||||
((This)->lpVtbl->Base.IsDxgiFormatSupported((ID2D1DeviceContext *)This, format))
|
||||
|
||||
#define ID2D1DeviceContext1_IsBufferPrecisionSupported(This, bufferPrecision) \
|
||||
((This)->lpVtbl->Base.IsBufferPrecisionSupported((ID2D1DeviceContext *)This, bufferPrecision))
|
||||
|
||||
#define ID2D1DeviceContext1_GetImageLocalBounds(This, image, localBounds) \
|
||||
((This)->lpVtbl->Base.GetImageLocalBounds((ID2D1DeviceContext *)This, image, localBounds))
|
||||
|
||||
#define ID2D1DeviceContext1_GetImageWorldBounds(This, image, worldBounds) \
|
||||
((This)->lpVtbl->Base.GetImageWorldBounds((ID2D1DeviceContext *)This, image, worldBounds))
|
||||
|
||||
#define ID2D1DeviceContext1_GetGlyphRunWorldBounds(This, baselineOrigin, glyphRun, measuringMode, bounds) \
|
||||
((This)->lpVtbl->Base.GetGlyphRunWorldBounds((ID2D1DeviceContext *)This, baselineOrigin, glyphRun, measuringMode, bounds))
|
||||
|
||||
#define ID2D1DeviceContext1_GetDevice(This, device) \
|
||||
((This)->lpVtbl->Base.GetDevice((ID2D1DeviceContext *)This, device))
|
||||
|
||||
#define ID2D1DeviceContext1_SetTarget(This, image) \
|
||||
((This)->lpVtbl->Base.SetTarget((ID2D1DeviceContext *)This, image))
|
||||
|
||||
#define ID2D1DeviceContext1_GetTarget(This, image) \
|
||||
((This)->lpVtbl->Base.GetTarget((ID2D1DeviceContext *)This, image))
|
||||
|
||||
#define ID2D1DeviceContext1_SetRenderingControls(This, renderingControls) \
|
||||
((This)->lpVtbl->Base.SetRenderingControls((ID2D1DeviceContext *)This, renderingControls))
|
||||
|
||||
#define ID2D1DeviceContext1_GetRenderingControls(This, renderingControls) \
|
||||
((This)->lpVtbl->Base.GetRenderingControls((ID2D1DeviceContext *)This, renderingControls))
|
||||
|
||||
#define ID2D1DeviceContext1_SetPrimitiveBlend(This, primitiveBlend) \
|
||||
((This)->lpVtbl->Base.SetPrimitiveBlend((ID2D1DeviceContext *)This, primitiveBlend))
|
||||
|
||||
#define ID2D1DeviceContext1_GetPrimitiveBlend(This) \
|
||||
((This)->lpVtbl->Base.GetPrimitiveBlend((ID2D1DeviceContext *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_SetUnitMode(This, unitMode) \
|
||||
((This)->lpVtbl->Base.SetUnitMode((ID2D1DeviceContext *)This, unitMode))
|
||||
|
||||
#define ID2D1DeviceContext1_GetUnitMode(This) \
|
||||
((This)->lpVtbl->Base.GetUnitMode((ID2D1DeviceContext *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawGlyphRun(This, baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode) \
|
||||
((This)->lpVtbl->Base.DrawGlyphRun((ID2D1DeviceContext *)This, baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawImage(This, image, targetOffset, imageRectangle, interpolationMode, compositeMode) \
|
||||
((This)->lpVtbl->Base.DrawImage((ID2D1DeviceContext *)This, image, targetOffset, imageRectangle, interpolationMode, compositeMode))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawGdiMetafile(This, gdiMetafile, targetOffset) \
|
||||
((This)->lpVtbl->Base.DrawGdiMetafile((ID2D1DeviceContext *)This, gdiMetafile, targetOffset))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawBitmap(This, bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform) \
|
||||
((This)->lpVtbl->Base.DrawBitmap((ID2D1DeviceContext *)This, bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform))
|
||||
|
||||
#define ID2D1DeviceContext1_PushLayer(This, layerParameters, layer) \
|
||||
((This)->lpVtbl->Base.PushLayer((ID2D1DeviceContext *)This, layerParameters, layer))
|
||||
|
||||
#define ID2D1DeviceContext1_InvalidateEffectInputRectangle(This, effect, input, inputRectangle) \
|
||||
((This)->lpVtbl->Base.InvalidateEffectInputRectangle((ID2D1DeviceContext *)This, effect, input, inputRectangle))
|
||||
|
||||
#define ID2D1DeviceContext1_GetEffectInvalidRectangleCount(This, effect, rectangleCount) \
|
||||
((This)->lpVtbl->Base.GetEffectInvalidRectangleCount((ID2D1DeviceContext *)This, effect, rectangleCount))
|
||||
|
||||
#define ID2D1DeviceContext1_GetEffectInvalidRectangles(This, effect, rectangles, rectanglesCount) \
|
||||
((This)->lpVtbl->Base.GetEffectInvalidRectangles((ID2D1DeviceContext *)This, effect, rectangles, rectanglesCount))
|
||||
|
||||
#define ID2D1DeviceContext1_GetEffectRequiredInputRectangles(This, renderEffect, renderImageRectangle, inputDescriptions, requiredInputRects, inputCount) \
|
||||
((This)->lpVtbl->Base.GetEffectRequiredInputRectangles((ID2D1DeviceContext *)This, renderEffect, renderImageRectangle, inputDescriptions, requiredInputRects, inputCount))
|
||||
|
||||
#define ID2D1DeviceContext1_FillOpacityMask(This, opacityMask, brush, destinationRectangle, sourceRectangle) \
|
||||
((This)->lpVtbl->Base.FillOpacityMask((ID2D1DeviceContext *)This, opacityMask, brush, destinationRectangle, sourceRectangle))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateFilledGeometryRealization(This, geometry, flatteningTolerance, geometryRealization) \
|
||||
((This)->lpVtbl->CreateFilledGeometryRealization(This, geometry, flatteningTolerance, geometryRealization))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateStrokedGeometryRealization(This, geometry, flatteningTolerance, strokeWidth, strokeStyle, geometryRealization) \
|
||||
((This)->lpVtbl->CreateStrokedGeometryRealization(This, geometry, flatteningTolerance, strokeWidth, strokeStyle, geometryRealization))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawGeometryRealization(This, geometryRealization, brush) \
|
||||
((This)->lpVtbl->DrawGeometryRealization(This, geometryRealization, brush))
|
||||
|
||||
typedef interface ID2D1Device1 ID2D1Device1;
|
||||
|
||||
typedef struct ID2D1Device1Vtbl
|
||||
{
|
||||
|
||||
ID2D1DeviceVtbl Base;
|
||||
|
||||
|
||||
STDMETHOD_(D2D1_RENDERING_PRIORITY, GetRenderingPriority)(
|
||||
ID2D1Device1 *This
|
||||
) PURE;
|
||||
|
||||
STDMETHOD_(void, SetRenderingPriority)(
|
||||
ID2D1Device1 *This,
|
||||
D2D1_RENDERING_PRIORITY renderingPriority
|
||||
) PURE;
|
||||
|
||||
STDMETHOD(CreateDeviceContext)(
|
||||
ID2D1Device1 *This,
|
||||
D2D1_DEVICE_CONTEXT_OPTIONS options,
|
||||
_Outptr_ ID2D1DeviceContext1 **deviceContext1
|
||||
) PURE;
|
||||
} ID2D1Device1Vtbl;
|
||||
|
||||
interface ID2D1Device1
|
||||
{
|
||||
CONST struct ID2D1Device1Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
#define ID2D1Device1_QueryInterface(This, riid, ppv) \
|
||||
((This)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown *)This, riid, ppv))
|
||||
|
||||
#define ID2D1Device1_AddRef(This) \
|
||||
((This)->lpVtbl->Base.Base.Base.AddRef((IUnknown *)This))
|
||||
|
||||
#define ID2D1Device1_Release(This) \
|
||||
((This)->lpVtbl->Base.Base.Base.Release((IUnknown *)This))
|
||||
|
||||
#define ID2D1Device1_GetFactory(This, factory) \
|
||||
((This)->lpVtbl->Base.Base.GetFactory((ID2D1Resource *)This, factory))
|
||||
|
||||
#define ID2D1Device1_CreatePrintControl(This, wicFactory, documentTarget, printControlProperties, printControl) \
|
||||
((This)->lpVtbl->Base.CreatePrintControl((ID2D1Device *)This, wicFactory, documentTarget, printControlProperties, printControl))
|
||||
|
||||
#define ID2D1Device1_SetMaximumTextureMemory(This, maximumInBytes) \
|
||||
((This)->lpVtbl->Base.SetMaximumTextureMemory((ID2D1Device *)This, maximumInBytes))
|
||||
|
||||
#define ID2D1Device1_GetMaximumTextureMemory(This) \
|
||||
((This)->lpVtbl->Base.GetMaximumTextureMemory((ID2D1Device *)This))
|
||||
|
||||
#define ID2D1Device1_ClearResources(This, millisecondsSinceUse) \
|
||||
((This)->lpVtbl->Base.ClearResources((ID2D1Device *)This, millisecondsSinceUse))
|
||||
|
||||
#define ID2D1Device1_GetRenderingPriority(This) \
|
||||
((This)->lpVtbl->GetRenderingPriority(This))
|
||||
|
||||
#define ID2D1Device1_SetRenderingPriority(This, renderingPriority) \
|
||||
((This)->lpVtbl->SetRenderingPriority(This, renderingPriority))
|
||||
|
||||
#define ID2D1Device1_CreateDeviceContext(This, options, deviceContext1) \
|
||||
((This)->lpVtbl->CreateDeviceContext(This, options, deviceContext1))
|
||||
|
||||
typedef interface ID2D1Factory2 ID2D1Factory2;
|
||||
|
||||
typedef struct ID2D1Factory2Vtbl
|
||||
{
|
||||
|
||||
ID2D1Factory1Vtbl Base;
|
||||
|
||||
|
||||
STDMETHOD(CreateDevice)(
|
||||
ID2D1Factory2 *This,
|
||||
_In_ IDXGIDevice *dxgiDevice,
|
||||
_Outptr_ ID2D1Device1 **d2dDevice1
|
||||
) PURE;
|
||||
} ID2D1Factory2Vtbl;
|
||||
|
||||
interface ID2D1Factory2
|
||||
{
|
||||
CONST struct ID2D1Factory2Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
#define ID2D1Factory2_QueryInterface(This, riid, ppv) \
|
||||
((This)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown *)This, riid, ppv))
|
||||
|
||||
#define ID2D1Factory2_AddRef(This) \
|
||||
((This)->lpVtbl->Base.Base.Base.AddRef((IUnknown *)This))
|
||||
|
||||
#define ID2D1Factory2_Release(This) \
|
||||
((This)->lpVtbl->Base.Base.Base.Release((IUnknown *)This))
|
||||
|
||||
#define ID2D1Factory2_ReloadSystemMetrics(This) \
|
||||
((This)->lpVtbl->Base.Base.ReloadSystemMetrics((ID2D1Factory *)This))
|
||||
|
||||
#define ID2D1Factory2_GetDesktopDpi(This, dpiX, dpiY) \
|
||||
((This)->lpVtbl->Base.Base.GetDesktopDpi((ID2D1Factory *)This, dpiX, dpiY))
|
||||
|
||||
#define ID2D1Factory2_CreateRectangleGeometry(This, rectangle, rectangleGeometry) \
|
||||
((This)->lpVtbl->Base.Base.CreateRectangleGeometry((ID2D1Factory *)This, rectangle, rectangleGeometry))
|
||||
|
||||
#define ID2D1Factory2_CreateRoundedRectangleGeometry(This, roundedRectangle, roundedRectangleGeometry) \
|
||||
((This)->lpVtbl->Base.Base.CreateRoundedRectangleGeometry((ID2D1Factory *)This, roundedRectangle, roundedRectangleGeometry))
|
||||
|
||||
#define ID2D1Factory2_CreateEllipseGeometry(This, ellipse, ellipseGeometry) \
|
||||
((This)->lpVtbl->Base.Base.CreateEllipseGeometry((ID2D1Factory *)This, ellipse, ellipseGeometry))
|
||||
|
||||
#define ID2D1Factory2_CreateGeometryGroup(This, fillMode, geometries, geometriesCount, geometryGroup) \
|
||||
((This)->lpVtbl->Base.Base.CreateGeometryGroup((ID2D1Factory *)This, fillMode, geometries, geometriesCount, geometryGroup))
|
||||
|
||||
#define ID2D1Factory2_CreateTransformedGeometry(This, sourceGeometry, transform, transformedGeometry) \
|
||||
((This)->lpVtbl->Base.Base.CreateTransformedGeometry((ID2D1Factory *)This, sourceGeometry, transform, transformedGeometry))
|
||||
|
||||
#define ID2D1Factory2_CreateWicBitmapRenderTarget(This, target, renderTargetProperties, renderTarget) \
|
||||
((This)->lpVtbl->Base.Base.CreateWicBitmapRenderTarget((ID2D1Factory *)This, target, renderTargetProperties, renderTarget))
|
||||
|
||||
#define ID2D1Factory2_CreateHwndRenderTarget(This, renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget) \
|
||||
((This)->lpVtbl->Base.Base.CreateHwndRenderTarget((ID2D1Factory *)This, renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget))
|
||||
|
||||
#define ID2D1Factory2_CreateDxgiSurfaceRenderTarget(This, dxgiSurface, renderTargetProperties, renderTarget) \
|
||||
((This)->lpVtbl->Base.Base.CreateDxgiSurfaceRenderTarget((ID2D1Factory *)This, dxgiSurface, renderTargetProperties, renderTarget))
|
||||
|
||||
#define ID2D1Factory2_CreateDCRenderTarget(This, renderTargetProperties, dcRenderTarget) \
|
||||
((This)->lpVtbl->Base.Base.CreateDCRenderTarget((ID2D1Factory *)This, renderTargetProperties, dcRenderTarget))
|
||||
|
||||
#define ID2D1Factory2_CreateStrokeStyle(This, strokeStyleProperties, dashes, dashesCount, strokeStyle) \
|
||||
((This)->lpVtbl->Base.CreateStrokeStyle((ID2D1Factory1 *)This, strokeStyleProperties, dashes, dashesCount, strokeStyle))
|
||||
|
||||
#define ID2D1Factory2_CreatePathGeometry(This, pathGeometry) \
|
||||
((This)->lpVtbl->Base.CreatePathGeometry((ID2D1Factory1 *)This, pathGeometry))
|
||||
|
||||
#define ID2D1Factory2_CreateDrawingStateBlock(This, drawingStateDescription, textRenderingParams, drawingStateBlock) \
|
||||
((This)->lpVtbl->Base.CreateDrawingStateBlock((ID2D1Factory1 *)This, drawingStateDescription, textRenderingParams, drawingStateBlock))
|
||||
|
||||
#define ID2D1Factory2_CreateGdiMetafile(This, metafileStream, metafile) \
|
||||
((This)->lpVtbl->Base.CreateGdiMetafile((ID2D1Factory1 *)This, metafileStream, metafile))
|
||||
|
||||
#define ID2D1Factory2_RegisterEffectFromStream(This, classId, propertyXml, bindings, bindingsCount, effectFactory) \
|
||||
((This)->lpVtbl->Base.RegisterEffectFromStream((ID2D1Factory1 *)This, classId, propertyXml, bindings, bindingsCount, effectFactory))
|
||||
|
||||
#define ID2D1Factory2_RegisterEffectFromString(This, classId, propertyXml, bindings, bindingsCount, effectFactory) \
|
||||
((This)->lpVtbl->Base.RegisterEffectFromString((ID2D1Factory1 *)This, classId, propertyXml, bindings, bindingsCount, effectFactory))
|
||||
|
||||
#define ID2D1Factory2_UnregisterEffect(This, classId) \
|
||||
((This)->lpVtbl->Base.UnregisterEffect((ID2D1Factory1 *)This, classId))
|
||||
|
||||
#define ID2D1Factory2_GetRegisteredEffects(This, effects, effectsCount, effectsReturned, effectsRegistered) \
|
||||
((This)->lpVtbl->Base.GetRegisteredEffects((ID2D1Factory1 *)This, effects, effectsCount, effectsReturned, effectsRegistered))
|
||||
|
||||
#define ID2D1Factory2_GetEffectProperties(This, effectId, properties) \
|
||||
((This)->lpVtbl->Base.GetEffectProperties((ID2D1Factory1 *)This, effectId, properties))
|
||||
|
||||
#define ID2D1Factory2_CreateDevice(This, dxgiDevice, d2dDevice1) \
|
||||
((This)->lpVtbl->CreateDevice(This, dxgiDevice, d2dDevice1))
|
||||
|
||||
typedef interface ID2D1CommandSink1 ID2D1CommandSink1;
|
||||
|
||||
typedef struct ID2D1CommandSink1Vtbl
|
||||
{
|
||||
|
||||
ID2D1CommandSinkVtbl Base;
|
||||
|
||||
|
||||
STDMETHOD(SetPrimitiveBlend1)(
|
||||
ID2D1CommandSink1 *This,
|
||||
D2D1_PRIMITIVE_BLEND primitiveBlend
|
||||
) PURE;
|
||||
} ID2D1CommandSink1Vtbl;
|
||||
|
||||
interface ID2D1CommandSink1
|
||||
{
|
||||
CONST struct ID2D1CommandSink1Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
#define ID2D1CommandSink1_QueryInterface(This, riid, ppv) \
|
||||
((This)->lpVtbl->Base.Base.QueryInterface((IUnknown *)This, riid, ppv))
|
||||
|
||||
#define ID2D1CommandSink1_AddRef(This) \
|
||||
((This)->lpVtbl->Base.Base.AddRef((IUnknown *)This))
|
||||
|
||||
#define ID2D1CommandSink1_Release(This) \
|
||||
((This)->lpVtbl->Base.Base.Release((IUnknown *)This))
|
||||
|
||||
#define ID2D1CommandSink1_BeginDraw(This) \
|
||||
((This)->lpVtbl->Base.BeginDraw((ID2D1CommandSink *)This))
|
||||
|
||||
#define ID2D1CommandSink1_EndDraw(This) \
|
||||
((This)->lpVtbl->Base.EndDraw((ID2D1CommandSink *)This))
|
||||
|
||||
#define ID2D1CommandSink1_SetAntialiasMode(This, antialiasMode) \
|
||||
((This)->lpVtbl->Base.SetAntialiasMode((ID2D1CommandSink *)This, antialiasMode))
|
||||
|
||||
#define ID2D1CommandSink1_SetTags(This, tag1, tag2) \
|
||||
((This)->lpVtbl->Base.SetTags((ID2D1CommandSink *)This, tag1, tag2))
|
||||
|
||||
#define ID2D1CommandSink1_SetTextAntialiasMode(This, textAntialiasMode) \
|
||||
((This)->lpVtbl->Base.SetTextAntialiasMode((ID2D1CommandSink *)This, textAntialiasMode))
|
||||
|
||||
#define ID2D1CommandSink1_SetTextRenderingParams(This, textRenderingParams) \
|
||||
((This)->lpVtbl->Base.SetTextRenderingParams((ID2D1CommandSink *)This, textRenderingParams))
|
||||
|
||||
#define ID2D1CommandSink1_SetTransform(This, transform) \
|
||||
((This)->lpVtbl->Base.SetTransform((ID2D1CommandSink *)This, transform))
|
||||
|
||||
#define ID2D1CommandSink1_SetPrimitiveBlend(This, primitiveBlend) \
|
||||
((This)->lpVtbl->Base.SetPrimitiveBlend((ID2D1CommandSink *)This, primitiveBlend))
|
||||
|
||||
#define ID2D1CommandSink1_SetUnitMode(This, unitMode) \
|
||||
((This)->lpVtbl->Base.SetUnitMode((ID2D1CommandSink *)This, unitMode))
|
||||
|
||||
#define ID2D1CommandSink1_Clear(This, color) \
|
||||
((This)->lpVtbl->Base.Clear((ID2D1CommandSink *)This, color))
|
||||
|
||||
#define ID2D1CommandSink1_DrawGlyphRun(This, baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode) \
|
||||
((This)->lpVtbl->Base.DrawGlyphRun((ID2D1CommandSink *)This, baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode))
|
||||
|
||||
#define ID2D1CommandSink1_DrawLine(This, point0, point1, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.DrawLine((ID2D1CommandSink *)This, point0, point1, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1CommandSink1_DrawGeometry(This, geometry, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.DrawGeometry((ID2D1CommandSink *)This, geometry, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1CommandSink1_DrawRectangle(This, rect, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.DrawRectangle((ID2D1CommandSink *)This, rect, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1CommandSink1_DrawBitmap(This, bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform) \
|
||||
((This)->lpVtbl->Base.DrawBitmap((ID2D1CommandSink *)This, bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform))
|
||||
|
||||
#define ID2D1CommandSink1_DrawImage(This, image, targetOffset, imageRectangle, interpolationMode, compositeMode) \
|
||||
((This)->lpVtbl->Base.DrawImage((ID2D1CommandSink *)This, image, targetOffset, imageRectangle, interpolationMode, compositeMode))
|
||||
|
||||
#define ID2D1CommandSink1_DrawGdiMetafile(This, gdiMetafile, targetOffset) \
|
||||
((This)->lpVtbl->Base.DrawGdiMetafile((ID2D1CommandSink *)This, gdiMetafile, targetOffset))
|
||||
|
||||
#define ID2D1CommandSink1_FillMesh(This, mesh, brush) \
|
||||
((This)->lpVtbl->Base.FillMesh((ID2D1CommandSink *)This, mesh, brush))
|
||||
|
||||
#define ID2D1CommandSink1_FillOpacityMask(This, opacityMask, brush, destinationRectangle, sourceRectangle) \
|
||||
((This)->lpVtbl->Base.FillOpacityMask((ID2D1CommandSink *)This, opacityMask, brush, destinationRectangle, sourceRectangle))
|
||||
|
||||
#define ID2D1CommandSink1_FillGeometry(This, geometry, brush, opacityBrush) \
|
||||
((This)->lpVtbl->Base.FillGeometry((ID2D1CommandSink *)This, geometry, brush, opacityBrush))
|
||||
|
||||
#define ID2D1CommandSink1_FillRectangle(This, rect, brush) \
|
||||
((This)->lpVtbl->Base.FillRectangle((ID2D1CommandSink *)This, rect, brush))
|
||||
|
||||
#define ID2D1CommandSink1_PushAxisAlignedClip(This, clipRect, antialiasMode) \
|
||||
((This)->lpVtbl->Base.PushAxisAlignedClip((ID2D1CommandSink *)This, clipRect, antialiasMode))
|
||||
|
||||
#define ID2D1CommandSink1_PushLayer(This, layerParameters1, layer) \
|
||||
((This)->lpVtbl->Base.PushLayer((ID2D1CommandSink *)This, layerParameters1, layer))
|
||||
|
||||
#define ID2D1CommandSink1_PopAxisAlignedClip(This) \
|
||||
((This)->lpVtbl->Base.PopAxisAlignedClip((ID2D1CommandSink *)This))
|
||||
|
||||
#define ID2D1CommandSink1_PopLayer(This) \
|
||||
((This)->lpVtbl->Base.PopLayer((ID2D1CommandSink *)This))
|
||||
|
||||
#define ID2D1CommandSink1_SetPrimitiveBlend1(This, primitiveBlend) \
|
||||
((This)->lpVtbl->SetPrimitiveBlend1(This, primitiveBlend))
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
Vendored
+853
-1582
File diff suppressed because it is too large
Load Diff
+10
@@ -215,6 +215,16 @@ namespace D2D1
|
||||
|
||||
return inkStyleProperties;
|
||||
}
|
||||
|
||||
COM_DECLSPEC_NOTHROW
|
||||
D2D1FORCEINLINE
|
||||
D2D1_RECT_U
|
||||
InfiniteRectU()
|
||||
{
|
||||
D2D1_RECT_U rect = { 0u, 0u, UINT_MAX, UINT_MAX };
|
||||
|
||||
return rect;
|
||||
}
|
||||
} // namespace D2D1
|
||||
|
||||
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
|
||||
|
||||
+1464
-1865
File diff suppressed because it is too large
Load Diff
+35
-55
@@ -25,73 +25,53 @@
|
||||
// Built in effect CLSIDs
|
||||
DEFINE_GUID(CLSID_D2D1YCbCr, 0x99503cc1, 0x66c7, 0x45c9, 0xa8, 0x75, 0x8a, 0xd8, 0xa7, 0x91, 0x44, 0x01);
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_YCBCR_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the YCbCr effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the YCbCr effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_YCBCR_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "ChromaSubsampling"
|
||||
// Property Type: D2D1_YCBCR_CHROMA_SUBSAMPLING
|
||||
//
|
||||
D2D1_YCBCR_PROP_CHROMA_SUBSAMPLING = 0,
|
||||
|
||||
//
|
||||
// Property Name: "TransformMatrix"
|
||||
// Property Type: D2D1_MATRIX_3X2_F
|
||||
//
|
||||
D2D1_YCBCR_PROP_TRANSFORM_MATRIX = 1,
|
||||
|
||||
//
|
||||
// Property Name: "InterpolationMode"
|
||||
// Property Type: D2D1_YCBCR_INTERPOLATION_MODE
|
||||
//
|
||||
D2D1_YCBCR_PROP_INTERPOLATION_MODE = 2,
|
||||
D2D1_YCBCR_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "ChromaSubsampling"
|
||||
/// Property Type: D2D1_YCBCR_CHROMA_SUBSAMPLING
|
||||
/// </summary>
|
||||
D2D1_YCBCR_PROP_CHROMA_SUBSAMPLING = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "TransformMatrix"
|
||||
/// Property Type: D2D1_MATRIX_3X2_F
|
||||
/// </summary>
|
||||
D2D1_YCBCR_PROP_TRANSFORM_MATRIX = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "InterpolationMode"
|
||||
/// Property Type: D2D1_YCBCR_INTERPOLATION_MODE
|
||||
/// </summary>
|
||||
D2D1_YCBCR_PROP_INTERPOLATION_MODE = 2,
|
||||
D2D1_YCBCR_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_YCBCR_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_YCBCR_CHROMA_SUBSAMPLING
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_YCBCR_CHROMA_SUBSAMPLING
|
||||
{
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO = 0,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_420 = 1,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_422 = 2,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_444 = 3,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_440 = 4,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_FORCE_DWORD = 0xffffffff
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO = 0,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_420 = 1,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_422 = 2,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_444 = 3,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_440 = 4,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_YCBCR_CHROMA_SUBSAMPLING;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_YCBCR_INTERPOLATION_MODE
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_YCBCR_INTERPOLATION_MODE
|
||||
{
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_LINEAR = 1,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_CUBIC = 2,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC = 4,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 5,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_LINEAR = 1,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_CUBIC = 2,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC = 4,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 5,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_YCBCR_INTERPOLATION_MODE;
|
||||
|
||||
|
||||
+372
-431
@@ -41,553 +41,494 @@ DEFINE_GUID(CLSID_D2D1EdgeDetection, 0xEFF583CA, 0xCB07, 0x4AA9, 0xAC
|
||||
DEFINE_GUID(CLSID_D2D1HighlightsShadows, 0xCADC8384, 0x323F, 0x4C7E, 0xA3, 0x61, 0x2E, 0x2B, 0x24, 0xDF, 0x6E, 0xE4);
|
||||
DEFINE_GUID(CLSID_D2D1LookupTable3D, 0x349E0EDA, 0x0088, 0x4A79, 0x9C, 0xA3, 0xC7, 0xE3, 0x00, 0x20, 0x20, 0x20);
|
||||
|
||||
#if NTDDI_VERSION >= NTDDI_WIN10_RS1
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_CONTRAST_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Contrast effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
DEFINE_GUID(CLSID_D2D1Opacity, 0x811d79a4, 0xde28, 0x4454, 0x80, 0x94, 0xc6, 0x46, 0x85, 0xf8, 0xbd, 0x4c);
|
||||
DEFINE_GUID(CLSID_D2D1AlphaMask, 0xc80ecff0, 0x3fd5, 0x4f05, 0x83, 0x28, 0xc5, 0xd1, 0x72, 0x4b, 0x4f, 0x0a);
|
||||
DEFINE_GUID(CLSID_D2D1CrossFade, 0x12f575e8, 0x4db1, 0x485f, 0x9a, 0x84, 0x03, 0xa0, 0x7d, 0xd3, 0x82, 0x9f);
|
||||
DEFINE_GUID(CLSID_D2D1Tint, 0x36312b17, 0xf7dd, 0x4014, 0x91, 0x5d, 0xff, 0xca, 0x76, 0x8c, 0xf2, 0x11);
|
||||
|
||||
#endif // #if NTDDI_VERSION >= NTDDI_WIN10_RS1
|
||||
|
||||
/// <summary>
|
||||
/// The enumeration of the Contrast effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_CONTRAST_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Contrast"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_CONTRAST_PROP_CONTRAST = 0,
|
||||
|
||||
//
|
||||
// Property Name: "ClampInput"
|
||||
// Property Type: BOOL
|
||||
//
|
||||
D2D1_CONTRAST_PROP_CLAMP_INPUT = 1,
|
||||
D2D1_CONTRAST_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Contrast"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_CONTRAST_PROP_CONTRAST = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "ClampInput"
|
||||
/// Property Type: BOOL
|
||||
/// </summary>
|
||||
D2D1_CONTRAST_PROP_CLAMP_INPUT = 1,
|
||||
D2D1_CONTRAST_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_CONTRAST_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_RGBTOHUE_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the RgbToHue effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the RgbToHue effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_RGBTOHUE_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "OutputColorSpace"
|
||||
// Property Type: D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE
|
||||
//
|
||||
D2D1_RGBTOHUE_PROP_OUTPUT_COLOR_SPACE = 0,
|
||||
D2D1_RGBTOHUE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "OutputColorSpace"
|
||||
/// Property Type: D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE
|
||||
/// </summary>
|
||||
D2D1_RGBTOHUE_PROP_OUTPUT_COLOR_SPACE = 0,
|
||||
D2D1_RGBTOHUE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_RGBTOHUE_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE
|
||||
{
|
||||
D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_VALUE = 0,
|
||||
D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS = 1,
|
||||
D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_FORCE_DWORD = 0xffffffff
|
||||
D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_VALUE = 0,
|
||||
D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS = 1,
|
||||
D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_HUETORGB_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the HueToRgb effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the HueToRgb effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_HUETORGB_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "InputColorSpace"
|
||||
// Property Type: D2D1_HUETORGB_INPUT_COLOR_SPACE
|
||||
//
|
||||
D2D1_HUETORGB_PROP_INPUT_COLOR_SPACE = 0,
|
||||
D2D1_HUETORGB_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "InputColorSpace"
|
||||
/// Property Type: D2D1_HUETORGB_INPUT_COLOR_SPACE
|
||||
/// </summary>
|
||||
D2D1_HUETORGB_PROP_INPUT_COLOR_SPACE = 0,
|
||||
D2D1_HUETORGB_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_HUETORGB_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_HUETORGB_INPUT_COLOR_SPACE
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_HUETORGB_INPUT_COLOR_SPACE
|
||||
{
|
||||
D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_VALUE = 0,
|
||||
D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS = 1,
|
||||
D2D1_HUETORGB_INPUT_COLOR_SPACE_FORCE_DWORD = 0xffffffff
|
||||
D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_VALUE = 0,
|
||||
D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS = 1,
|
||||
D2D1_HUETORGB_INPUT_COLOR_SPACE_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_HUETORGB_INPUT_COLOR_SPACE;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_CHROMAKEY_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Chroma Key effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Chroma Key effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_CHROMAKEY_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Color"
|
||||
// Property Type: D2D1_VECTOR_3F
|
||||
//
|
||||
D2D1_CHROMAKEY_PROP_COLOR = 0,
|
||||
|
||||
//
|
||||
// Property Name: "Tolerance"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_CHROMAKEY_PROP_TOLERANCE = 1,
|
||||
|
||||
//
|
||||
// Property Name: "InvertAlpha"
|
||||
// Property Type: BOOL
|
||||
//
|
||||
D2D1_CHROMAKEY_PROP_INVERT_ALPHA = 2,
|
||||
|
||||
//
|
||||
// Property Name: "Feather"
|
||||
// Property Type: BOOL
|
||||
//
|
||||
D2D1_CHROMAKEY_PROP_FEATHER = 3,
|
||||
D2D1_CHROMAKEY_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Color"
|
||||
/// Property Type: D2D1_VECTOR_3F
|
||||
/// </summary>
|
||||
D2D1_CHROMAKEY_PROP_COLOR = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Tolerance"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_CHROMAKEY_PROP_TOLERANCE = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "InvertAlpha"
|
||||
/// Property Type: BOOL
|
||||
/// </summary>
|
||||
D2D1_CHROMAKEY_PROP_INVERT_ALPHA = 2,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Feather"
|
||||
/// Property Type: BOOL
|
||||
/// </summary>
|
||||
D2D1_CHROMAKEY_PROP_FEATHER = 3,
|
||||
D2D1_CHROMAKEY_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_CHROMAKEY_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_EMBOSS_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Emboss effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Emboss effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_EMBOSS_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Height"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_EMBOSS_PROP_HEIGHT = 0,
|
||||
|
||||
//
|
||||
// Property Name: "Direction"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_EMBOSS_PROP_DIRECTION = 1,
|
||||
D2D1_EMBOSS_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Height"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_EMBOSS_PROP_HEIGHT = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Direction"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_EMBOSS_PROP_DIRECTION = 1,
|
||||
D2D1_EMBOSS_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_EMBOSS_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_EXPOSURE_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Exposure effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Exposure effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_EXPOSURE_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "ExposureValue"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_EXPOSURE_PROP_EXPOSURE_VALUE = 0,
|
||||
D2D1_EXPOSURE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "ExposureValue"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_EXPOSURE_PROP_EXPOSURE_VALUE = 0,
|
||||
D2D1_EXPOSURE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_EXPOSURE_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_POSTERIZE_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Posterize effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Posterize effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_POSTERIZE_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "RedValueCount"
|
||||
// Property Type: UINT32
|
||||
//
|
||||
D2D1_POSTERIZE_PROP_RED_VALUE_COUNT = 0,
|
||||
|
||||
//
|
||||
// Property Name: "GreenValueCount"
|
||||
// Property Type: UINT32
|
||||
//
|
||||
D2D1_POSTERIZE_PROP_GREEN_VALUE_COUNT = 1,
|
||||
|
||||
//
|
||||
// Property Name: "BlueValueCount"
|
||||
// Property Type: UINT32
|
||||
//
|
||||
D2D1_POSTERIZE_PROP_BLUE_VALUE_COUNT = 2,
|
||||
D2D1_POSTERIZE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "RedValueCount"
|
||||
/// Property Type: UINT32
|
||||
/// </summary>
|
||||
D2D1_POSTERIZE_PROP_RED_VALUE_COUNT = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "GreenValueCount"
|
||||
/// Property Type: UINT32
|
||||
/// </summary>
|
||||
D2D1_POSTERIZE_PROP_GREEN_VALUE_COUNT = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "BlueValueCount"
|
||||
/// Property Type: UINT32
|
||||
/// </summary>
|
||||
D2D1_POSTERIZE_PROP_BLUE_VALUE_COUNT = 2,
|
||||
D2D1_POSTERIZE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_POSTERIZE_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_SEPIA_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Sepia effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Sepia effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_SEPIA_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Intensity"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_SEPIA_PROP_INTENSITY = 0,
|
||||
|
||||
//
|
||||
// Property Name: "AlphaMode"
|
||||
// Property Type: D2D1_ALPHA_MODE
|
||||
//
|
||||
D2D1_SEPIA_PROP_ALPHA_MODE = 1,
|
||||
D2D1_SEPIA_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Intensity"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_SEPIA_PROP_INTENSITY = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "AlphaMode"
|
||||
/// Property Type: D2D1_ALPHA_MODE
|
||||
/// </summary>
|
||||
D2D1_SEPIA_PROP_ALPHA_MODE = 1,
|
||||
D2D1_SEPIA_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_SEPIA_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_SHARPEN_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Sharpen effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Sharpen effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_SHARPEN_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Sharpness"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_SHARPEN_PROP_SHARPNESS = 0,
|
||||
|
||||
//
|
||||
// Property Name: "Threshold"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_SHARPEN_PROP_THRESHOLD = 1,
|
||||
D2D1_SHARPEN_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Sharpness"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_SHARPEN_PROP_SHARPNESS = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Threshold"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_SHARPEN_PROP_THRESHOLD = 1,
|
||||
D2D1_SHARPEN_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_SHARPEN_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_STRAIGHTEN_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Straighten effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Straighten effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_STRAIGHTEN_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Angle"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_STRAIGHTEN_PROP_ANGLE = 0,
|
||||
|
||||
//
|
||||
// Property Name: "MaintainSize"
|
||||
// Property Type: BOOL
|
||||
//
|
||||
D2D1_STRAIGHTEN_PROP_MAINTAIN_SIZE = 1,
|
||||
|
||||
//
|
||||
// Property Name: "ScaleMode"
|
||||
// Property Type: D2D1_STRAIGHTEN_SCALE_MODE
|
||||
//
|
||||
D2D1_STRAIGHTEN_PROP_SCALE_MODE = 2,
|
||||
D2D1_STRAIGHTEN_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Angle"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_STRAIGHTEN_PROP_ANGLE = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "MaintainSize"
|
||||
/// Property Type: BOOL
|
||||
/// </summary>
|
||||
D2D1_STRAIGHTEN_PROP_MAINTAIN_SIZE = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "ScaleMode"
|
||||
/// Property Type: D2D1_STRAIGHTEN_SCALE_MODE
|
||||
/// </summary>
|
||||
D2D1_STRAIGHTEN_PROP_SCALE_MODE = 2,
|
||||
D2D1_STRAIGHTEN_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_STRAIGHTEN_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_STRAIGHTEN_SCALE_MODE
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_STRAIGHTEN_SCALE_MODE
|
||||
{
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_NEAREST_NEIGHBOR = 0,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_LINEAR = 1,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_CUBIC = 2,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_ANISOTROPIC = 4,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_FORCE_DWORD = 0xffffffff
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_NEAREST_NEIGHBOR = 0,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_LINEAR = 1,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_CUBIC = 2,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_ANISOTROPIC = 4,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_STRAIGHTEN_SCALE_MODE;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_TEMPERATUREANDTINT_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Temperature And Tint effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Temperature And Tint effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_TEMPERATUREANDTINT_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Temperature"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_TEMPERATUREANDTINT_PROP_TEMPERATURE = 0,
|
||||
|
||||
//
|
||||
// Property Name: "Tint"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_TEMPERATUREANDTINT_PROP_TINT = 1,
|
||||
D2D1_TEMPERATUREANDTINT_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Temperature"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_TEMPERATUREANDTINT_PROP_TEMPERATURE = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Tint"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_TEMPERATUREANDTINT_PROP_TINT = 1,
|
||||
D2D1_TEMPERATUREANDTINT_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_TEMPERATUREANDTINT_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_VIGNETTE_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Vignette effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Vignette effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_VIGNETTE_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Color"
|
||||
// Property Type: D2D1_VECTOR_4F
|
||||
//
|
||||
D2D1_VIGNETTE_PROP_COLOR = 0,
|
||||
|
||||
//
|
||||
// Property Name: "TransitionSize"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_VIGNETTE_PROP_TRANSITION_SIZE = 1,
|
||||
|
||||
//
|
||||
// Property Name: "Strength"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_VIGNETTE_PROP_STRENGTH = 2,
|
||||
D2D1_VIGNETTE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Color"
|
||||
/// Property Type: D2D1_VECTOR_4F
|
||||
/// </summary>
|
||||
D2D1_VIGNETTE_PROP_COLOR = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "TransitionSize"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_VIGNETTE_PROP_TRANSITION_SIZE = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Strength"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_VIGNETTE_PROP_STRENGTH = 2,
|
||||
D2D1_VIGNETTE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_VIGNETTE_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_EDGEDETECTION_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Edge Detection effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Edge Detection effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_EDGEDETECTION_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Strength"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_EDGEDETECTION_PROP_STRENGTH = 0,
|
||||
|
||||
//
|
||||
// Property Name: "BlurRadius"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_EDGEDETECTION_PROP_BLUR_RADIUS = 1,
|
||||
|
||||
//
|
||||
// Property Name: "Mode"
|
||||
// Property Type: D2D1_EDGEDETECTION_MODE
|
||||
//
|
||||
D2D1_EDGEDETECTION_PROP_MODE = 2,
|
||||
|
||||
//
|
||||
// Property Name: "OverlayEdges"
|
||||
// Property Type: BOOL
|
||||
//
|
||||
D2D1_EDGEDETECTION_PROP_OVERLAY_EDGES = 3,
|
||||
|
||||
//
|
||||
// Property Name: "AlphaMode"
|
||||
// Property Type: D2D1_ALPHA_MODE
|
||||
//
|
||||
D2D1_EDGEDETECTION_PROP_ALPHA_MODE = 4,
|
||||
D2D1_EDGEDETECTION_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Strength"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_EDGEDETECTION_PROP_STRENGTH = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "BlurRadius"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_EDGEDETECTION_PROP_BLUR_RADIUS = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Mode"
|
||||
/// Property Type: D2D1_EDGEDETECTION_MODE
|
||||
/// </summary>
|
||||
D2D1_EDGEDETECTION_PROP_MODE = 2,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "OverlayEdges"
|
||||
/// Property Type: BOOL
|
||||
/// </summary>
|
||||
D2D1_EDGEDETECTION_PROP_OVERLAY_EDGES = 3,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "AlphaMode"
|
||||
/// Property Type: D2D1_ALPHA_MODE
|
||||
/// </summary>
|
||||
D2D1_EDGEDETECTION_PROP_ALPHA_MODE = 4,
|
||||
D2D1_EDGEDETECTION_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_EDGEDETECTION_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_EDGEDETECTION_MODE
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_EDGEDETECTION_MODE
|
||||
{
|
||||
D2D1_EDGEDETECTION_MODE_SOBEL = 0,
|
||||
D2D1_EDGEDETECTION_MODE_PREWITT = 1,
|
||||
D2D1_EDGEDETECTION_MODE_FORCE_DWORD = 0xffffffff
|
||||
D2D1_EDGEDETECTION_MODE_SOBEL = 0,
|
||||
D2D1_EDGEDETECTION_MODE_PREWITT = 1,
|
||||
D2D1_EDGEDETECTION_MODE_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_EDGEDETECTION_MODE;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_HIGHLIGHTSANDSHADOWS_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Highlights and Shadows effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Highlights and Shadows effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_HIGHLIGHTSANDSHADOWS_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Highlights"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_HIGHLIGHTS = 0,
|
||||
|
||||
//
|
||||
// Property Name: "Shadows"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_SHADOWS = 1,
|
||||
|
||||
//
|
||||
// Property Name: "Clarity"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_CLARITY = 2,
|
||||
|
||||
//
|
||||
// Property Name: "InputGamma"
|
||||
// Property Type: D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA
|
||||
//
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_INPUT_GAMMA = 3,
|
||||
|
||||
//
|
||||
// Property Name: "MaskBlurRadius"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_MASK_BLUR_RADIUS = 4,
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Highlights"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_HIGHLIGHTS = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Shadows"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_SHADOWS = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Clarity"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_CLARITY = 2,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "InputGamma"
|
||||
/// Property Type: D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA
|
||||
/// </summary>
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_INPUT_GAMMA = 3,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "MaskBlurRadius"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_MASK_BLUR_RADIUS = 4,
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_HIGHLIGHTSANDSHADOWS_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA
|
||||
{
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_LINEAR = 0,
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_SRGB = 1,
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_FORCE_DWORD = 0xffffffff
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_LINEAR = 0,
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_SRGB = 1,
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_LOOKUPTABLE3D_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Lookup Table 3D effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Lookup Table 3D effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_LOOKUPTABLE3D_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Lut"
|
||||
// Property Type: IUnknown *
|
||||
//
|
||||
D2D1_LOOKUPTABLE3D_PROP_LUT = 0,
|
||||
|
||||
//
|
||||
// Property Name: "AlphaMode"
|
||||
// Property Type: D2D1_ALPHA_MODE
|
||||
//
|
||||
D2D1_LOOKUPTABLE3D_PROP_ALPHA_MODE = 1,
|
||||
D2D1_LOOKUPTABLE3D_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Lut"
|
||||
/// Property Type: IUnknown *
|
||||
/// </summary>
|
||||
D2D1_LOOKUPTABLE3D_PROP_LUT = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "AlphaMode"
|
||||
/// Property Type: D2D1_ALPHA_MODE
|
||||
/// </summary>
|
||||
D2D1_LOOKUPTABLE3D_PROP_ALPHA_MODE = 1,
|
||||
D2D1_LOOKUPTABLE3D_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_LOOKUPTABLE3D_PROP;
|
||||
|
||||
|
||||
#if NTDDI_VERSION >= NTDDI_WIN10_RS1
|
||||
|
||||
/// <summary>
|
||||
/// The enumeration of the Opacity effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_OPACITY_PROP
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Opacity"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_OPACITY_PROP_OPACITY = 0,
|
||||
D2D1_OPACITY_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_OPACITY_PROP;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The enumeration of the Cross Fade effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_CROSSFADE_PROP
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Weight"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_CROSSFADE_PROP_WEIGHT = 0,
|
||||
D2D1_CROSSFADE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_CROSSFADE_PROP;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The enumeration of the Tint effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_TINT_PROP
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Color"
|
||||
/// Property Type: D2D1_VECTOR_4F
|
||||
/// </summary>
|
||||
D2D1_TINT_PROP_COLOR = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "ClampOutput"
|
||||
/// Property Type: BOOL
|
||||
/// </summary>
|
||||
D2D1_TINT_PROP_CLAMP_OUTPUT = 1,
|
||||
D2D1_TINT_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_TINT_PROP;
|
||||
|
||||
|
||||
#endif // #if NTDDI_VERSION >= NTDDI_WIN10_RS1
|
||||
|
||||
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
|
||||
#pragma endregion
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+8
-3
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
@@ -7306,7 +7306,8 @@ enum D3D11_FEATURE
|
||||
D3D11_FEATURE_D3D9_OPTIONS1 = ( D3D11_FEATURE_MARKER_SUPPORT + 1 ) ,
|
||||
D3D11_FEATURE_D3D11_OPTIONS2 = ( D3D11_FEATURE_D3D9_OPTIONS1 + 1 ) ,
|
||||
D3D11_FEATURE_D3D11_OPTIONS3 = ( D3D11_FEATURE_D3D11_OPTIONS2 + 1 ) ,
|
||||
D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = ( D3D11_FEATURE_D3D11_OPTIONS3 + 1 )
|
||||
D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = ( D3D11_FEATURE_D3D11_OPTIONS3 + 1 ) ,
|
||||
D3D11_FEATURE_D3D11_OPTIONS4 = ( D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT + 1 )
|
||||
} D3D11_FEATURE;
|
||||
|
||||
typedef struct D3D11_FEATURE_DATA_THREADING
|
||||
@@ -9661,6 +9662,9 @@ DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC, 0xed418a9f, 0x0
|
||||
DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC, 0xab998b5b, 0x4258,0x44a9,0x9f,0xeb,0x94,0xe5,0x97,0xa6,0xba,0xae);
|
||||
DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN, 0x5b11d51b, 0x2f4c,0x4452,0xbc,0xc3,0x09,0xf2,0xa1,0x16,0x0c,0xc0);
|
||||
DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10, 0x107af0e0, 0xef1a,0x4d19,0xab,0xa8,0x67,0xa1,0x63,0x07,0x3d,0x13);
|
||||
DEFINE_GUID(D3D11_DECODER_PROFILE_VP9_VLD_PROFILE0, 0x463707f8, 0xa1d0, 0x4585, 0x87, 0x6d, 0x83, 0xaa, 0x6d, 0x60, 0xb8, 0x9e);
|
||||
DEFINE_GUID(D3D11_DECODER_PROFILE_VP9_VLD_10BIT_PROFILE2, 0xa4c749ef, 0x6ecf, 0x48aa, 0x84, 0x48, 0x50, 0xa7, 0xa1, 0x16, 0x5f, 0xf7);
|
||||
DEFINE_GUID(D3D11_DECODER_PROFILE_VP8_VLD, 0x90b899ea, 0x3a62, 0x4705, 0x88, 0xb3, 0x8d, 0xf0, 0x4b, 0x27, 0x44, 0xe7);
|
||||
typedef struct D3D11_VIDEO_DECODER_DESC
|
||||
{
|
||||
GUID Guid;
|
||||
@@ -9929,7 +9933,8 @@ enum D3D11_VIDEO_PROCESSOR_FEATURE_CAPS
|
||||
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM = 0x80,
|
||||
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO = 0x100,
|
||||
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR = 0x200,
|
||||
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x400
|
||||
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x400,
|
||||
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_METADATA_HDR10 = 0x800
|
||||
} D3D11_VIDEO_PROCESSOR_FEATURE_CAPS;
|
||||
|
||||
typedef
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+2233
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
|
||||
|
||||
|
||||
|
||||
Vendored
+977
-28
File diff suppressed because it is too large
Load Diff
+485
-23
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,20 @@ typedef interface ID3D12Debug ID3D12Debug;
|
||||
#endif /* __ID3D12Debug_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12Debug1_FWD_DEFINED__
|
||||
#define __ID3D12Debug1_FWD_DEFINED__
|
||||
typedef interface ID3D12Debug1 ID3D12Debug1;
|
||||
|
||||
#endif /* __ID3D12Debug1_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12DebugDevice1_FWD_DEFINED__
|
||||
#define __ID3D12DebugDevice1_FWD_DEFINED__
|
||||
typedef interface ID3D12DebugDevice1 ID3D12DebugDevice1;
|
||||
|
||||
#endif /* __ID3D12DebugDevice1_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12DebugDevice_FWD_DEFINED__
|
||||
#define __ID3D12DebugDevice_FWD_DEFINED__
|
||||
typedef interface ID3D12DebugDevice ID3D12DebugDevice;
|
||||
@@ -64,6 +78,13 @@ typedef interface ID3D12DebugCommandQueue ID3D12DebugCommandQueue;
|
||||
#endif /* __ID3D12DebugCommandQueue_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12DebugCommandList1_FWD_DEFINED__
|
||||
#define __ID3D12DebugCommandList1_FWD_DEFINED__
|
||||
typedef interface ID3D12DebugCommandList1 ID3D12DebugCommandList1;
|
||||
|
||||
#endif /* __ID3D12DebugCommandList1_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12DebugCommandList_FWD_DEFINED__
|
||||
#define __ID3D12DebugCommandList_FWD_DEFINED__
|
||||
typedef interface ID3D12DebugCommandList ID3D12DebugCommandList;
|
||||
@@ -176,18 +197,106 @@ EXTERN_C const IID IID_ID3D12Debug;
|
||||
#endif /* __ID3D12Debug_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0001 */
|
||||
#ifndef __ID3D12Debug1_INTERFACE_DEFINED__
|
||||
#define __ID3D12Debug1_INTERFACE_DEFINED__
|
||||
|
||||
/* interface ID3D12Debug1 */
|
||||
/* [unique][local][object][uuid] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_ID3D12Debug1;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("affaa4ca-63fe-4d8e-b8ad-159000af4304")
|
||||
ID3D12Debug1 : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0;
|
||||
|
||||
virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation(
|
||||
BOOL Enable) = 0;
|
||||
|
||||
virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation(
|
||||
BOOL Enable) = 0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct ID3D12Debug1Vtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ID3D12Debug1 * This,
|
||||
REFIID riid,
|
||||
_COM_Outptr_ void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ID3D12Debug1 * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ID3D12Debug1 * This);
|
||||
|
||||
void ( STDMETHODCALLTYPE *EnableDebugLayer )(
|
||||
ID3D12Debug1 * This);
|
||||
|
||||
void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )(
|
||||
ID3D12Debug1 * This,
|
||||
BOOL Enable);
|
||||
|
||||
void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )(
|
||||
ID3D12Debug1 * This,
|
||||
BOOL Enable);
|
||||
|
||||
END_INTERFACE
|
||||
} ID3D12Debug1Vtbl;
|
||||
|
||||
interface ID3D12Debug1
|
||||
{
|
||||
CONST_VTBL struct ID3D12Debug1Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define ID3D12Debug1_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define ID3D12Debug1_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define ID3D12Debug1_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define ID3D12Debug1_EnableDebugLayer(This) \
|
||||
( (This)->lpVtbl -> EnableDebugLayer(This) )
|
||||
|
||||
#define ID3D12Debug1_SetEnableGPUBasedValidation(This,Enable) \
|
||||
( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) )
|
||||
|
||||
#define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
|
||||
( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __ID3D12Debug1_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0002 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
enum D3D12_DEBUG_FEATURE
|
||||
{
|
||||
D3D12_DEBUG_FEATURE_NONE = 0,
|
||||
D3D12_DEBUG_FEATURE_TREAT_BUNDLE_AS_DRAW = 0x1,
|
||||
D3D12_DEBUG_FEATURE_TREAT_BUNDLE_AS_DISPATCH = 0x2
|
||||
} D3D12_DEBUG_FEATURE;
|
||||
|
||||
DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEBUG_FEATURE );
|
||||
typedef
|
||||
enum D3D12_RLDO_FLAGS
|
||||
{
|
||||
@@ -198,10 +307,163 @@ enum D3D12_RLDO_FLAGS
|
||||
} D3D12_RLDO_FLAGS;
|
||||
|
||||
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS)
|
||||
typedef
|
||||
enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE
|
||||
{
|
||||
D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0,
|
||||
D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = ( D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS + 1 )
|
||||
} D3D12_DEBUG_DEVICE_PARAMETER_TYPE;
|
||||
|
||||
typedef
|
||||
enum D3D12_DEBUG_FEATURE
|
||||
{
|
||||
D3D12_DEBUG_FEATURE_NONE = 0,
|
||||
D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x1,
|
||||
D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x2,
|
||||
D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x4,
|
||||
D3D12_DEBUG_FEATURE_VALID_MASK = ( ( D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS | D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING ) | D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION )
|
||||
} D3D12_DEBUG_FEATURE;
|
||||
|
||||
DEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE)
|
||||
typedef
|
||||
enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE
|
||||
{
|
||||
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0,
|
||||
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE + 1 ) ,
|
||||
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY + 1 ) ,
|
||||
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION + 1 ) ,
|
||||
NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION + 1 )
|
||||
} D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE;
|
||||
|
||||
typedef
|
||||
enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS
|
||||
{
|
||||
D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0,
|
||||
D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x1,
|
||||
D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x2,
|
||||
D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x4,
|
||||
D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x7
|
||||
} D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS;
|
||||
|
||||
DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS)
|
||||
typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS
|
||||
{
|
||||
UINT MaxMessagesPerCommandList;
|
||||
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode;
|
||||
D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags;
|
||||
} D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS;
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_s_ifspec;
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0002_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0002_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __ID3D12DebugDevice1_INTERFACE_DEFINED__
|
||||
#define __ID3D12DebugDevice1_INTERFACE_DEFINED__
|
||||
|
||||
/* interface ID3D12DebugDevice1 */
|
||||
/* [unique][local][object][uuid] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_ID3D12DebugDevice1;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("a9b71770-d099-4a65-a698-3dee10020f88")
|
||||
ID3D12DebugDevice1 : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
|
||||
D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
|
||||
_In_reads_bytes_(DataSize) const void *pData,
|
||||
UINT DataSize) = 0;
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
|
||||
D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
|
||||
_Out_writes_bytes_(DataSize) void *pData,
|
||||
UINT DataSize) = 0;
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects(
|
||||
D3D12_RLDO_FLAGS Flags) = 0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct ID3D12DebugDevice1Vtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ID3D12DebugDevice1 * This,
|
||||
REFIID riid,
|
||||
_COM_Outptr_ void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ID3D12DebugDevice1 * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ID3D12DebugDevice1 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
|
||||
ID3D12DebugDevice1 * This,
|
||||
D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
|
||||
_In_reads_bytes_(DataSize) const void *pData,
|
||||
UINT DataSize);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
|
||||
ID3D12DebugDevice1 * This,
|
||||
D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
|
||||
_Out_writes_bytes_(DataSize) void *pData,
|
||||
UINT DataSize);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )(
|
||||
ID3D12DebugDevice1 * This,
|
||||
D3D12_RLDO_FLAGS Flags);
|
||||
|
||||
END_INTERFACE
|
||||
} ID3D12DebugDevice1Vtbl;
|
||||
|
||||
interface ID3D12DebugDevice1
|
||||
{
|
||||
CONST_VTBL struct ID3D12DebugDevice1Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define ID3D12DebugDevice1_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define ID3D12DebugDevice1_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define ID3D12DebugDevice1_SetDebugParameter(This,Type,pData,DataSize) \
|
||||
( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
|
||||
|
||||
#define ID3D12DebugDevice1_GetDebugParameter(This,Type,pData,DataSize) \
|
||||
( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
|
||||
|
||||
#define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,Flags) \
|
||||
( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __ID3D12DebugDevice1_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12DebugDevice_INTERFACE_DEFINED__
|
||||
#define __ID3D12DebugDevice_INTERFACE_DEFINED__
|
||||
@@ -300,14 +562,14 @@ EXTERN_C const IID IID_ID3D12DebugDevice;
|
||||
#endif /* __ID3D12DebugDevice_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0002 */
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0004 */
|
||||
/* [local] */
|
||||
|
||||
DEFINE_GUID(DXGI_DEBUG_D3D12, 0xcf59a98c, 0xa950, 0x4326, 0x91, 0xef, 0x9b, 0xba, 0xa1, 0x7b, 0xfd, 0x95);
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0002_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0002_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0004_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0004_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __ID3D12DebugCommandQueue_INTERFACE_DEFINED__
|
||||
#define __ID3D12DebugCommandQueue_INTERFACE_DEFINED__
|
||||
@@ -392,6 +654,136 @@ EXTERN_C const IID IID_ID3D12DebugCommandQueue;
|
||||
#endif /* __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0005 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
enum D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE
|
||||
{
|
||||
D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = 0
|
||||
} D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE;
|
||||
|
||||
typedef struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS
|
||||
{
|
||||
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE ShaderPatchMode;
|
||||
} D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS;
|
||||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0005_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0005_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __ID3D12DebugCommandList1_INTERFACE_DEFINED__
|
||||
#define __ID3D12DebugCommandList1_INTERFACE_DEFINED__
|
||||
|
||||
/* interface ID3D12DebugCommandList1 */
|
||||
/* [unique][local][object][uuid] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_ID3D12DebugCommandList1;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("102ca951-311b-4b01-b11f-ecb83e061b37")
|
||||
ID3D12DebugCommandList1 : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual BOOL STDMETHODCALLTYPE AssertResourceState(
|
||||
_In_ ID3D12Resource *pResource,
|
||||
UINT Subresource,
|
||||
UINT State) = 0;
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
|
||||
D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
|
||||
_In_reads_bytes_(DataSize) const void *pData,
|
||||
UINT DataSize) = 0;
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
|
||||
D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
|
||||
_Out_writes_bytes_(DataSize) void *pData,
|
||||
UINT DataSize) = 0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct ID3D12DebugCommandList1Vtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ID3D12DebugCommandList1 * This,
|
||||
REFIID riid,
|
||||
_COM_Outptr_ void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ID3D12DebugCommandList1 * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ID3D12DebugCommandList1 * This);
|
||||
|
||||
BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
|
||||
ID3D12DebugCommandList1 * This,
|
||||
_In_ ID3D12Resource *pResource,
|
||||
UINT Subresource,
|
||||
UINT State);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
|
||||
ID3D12DebugCommandList1 * This,
|
||||
D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
|
||||
_In_reads_bytes_(DataSize) const void *pData,
|
||||
UINT DataSize);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
|
||||
ID3D12DebugCommandList1 * This,
|
||||
D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
|
||||
_Out_writes_bytes_(DataSize) void *pData,
|
||||
UINT DataSize);
|
||||
|
||||
END_INTERFACE
|
||||
} ID3D12DebugCommandList1Vtbl;
|
||||
|
||||
interface ID3D12DebugCommandList1
|
||||
{
|
||||
CONST_VTBL struct ID3D12DebugCommandList1Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define ID3D12DebugCommandList1_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define ID3D12DebugCommandList1_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define ID3D12DebugCommandList1_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define ID3D12DebugCommandList1_AssertResourceState(This,pResource,Subresource,State) \
|
||||
( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
|
||||
|
||||
#define ID3D12DebugCommandList1_SetDebugParameter(This,Type,pData,DataSize) \
|
||||
( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
|
||||
|
||||
#define ID3D12DebugCommandList1_GetDebugParameter(This,Type,pData,DataSize) \
|
||||
( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __ID3D12DebugCommandList1_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12DebugCommandList_INTERFACE_DEFINED__
|
||||
#define __ID3D12DebugCommandList_INTERFACE_DEFINED__
|
||||
|
||||
@@ -493,7 +885,7 @@ EXTERN_C const IID IID_ID3D12DebugCommandList;
|
||||
#endif /* __ID3D12DebugCommandList_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0004 */
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0007 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
@@ -1459,7 +1851,74 @@ enum D3D12_MESSAGE_ID
|
||||
D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = ( D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = ( D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = ( D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT + 1 ) ,
|
||||
D3D12_MESSAGE_ID_D3D12_MESSAGES_END = ( D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT + 1 )
|
||||
D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = ( D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = ( D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = ( D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = ( D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = ( D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC + 1 ) ,
|
||||
D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = ( D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = ( D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = ( D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = ( D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END + 1 ) ,
|
||||
D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = ( D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = ( D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = ( D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = ( D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = ( D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = ( D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = ( D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = ( D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY + 1 ) ,
|
||||
D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = ( D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY + 1 ) ,
|
||||
D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = ( D3D12_MESSAGE_ID_STOREPIPELINE_NONAME + 1 ) ,
|
||||
D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = ( D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME + 1 ) ,
|
||||
D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = ( D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND + 1 ) ,
|
||||
D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = ( D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = ( D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY + 1 ) ,
|
||||
D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = ( D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = ( D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = ( D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATE_VIDEOCOMMANDLIST = ( D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATE_VIDEODECODER = ( D3D12_MESSAGE_ID_CREATE_VIDEOCOMMANDLIST + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = ( D3D12_MESSAGE_ID_CREATE_VIDEODECODER + 1 ) ,
|
||||
D3D12_MESSAGE_ID_LIVE_VIDEOCOMMANDLIST = ( D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM + 1 ) ,
|
||||
D3D12_MESSAGE_ID_LIVE_VIDEODECODER = ( D3D12_MESSAGE_ID_LIVE_VIDEOCOMMANDLIST + 1 ) ,
|
||||
D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = ( D3D12_MESSAGE_ID_LIVE_VIDEODECODER + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DESTROY_VIDEOCOMMANDLIST = ( D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = ( D3D12_MESSAGE_ID_DESTROY_VIDEOCOMMANDLIST + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = ( D3D12_MESSAGE_ID_DESTROY_VIDEODECODER + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = ( D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DEPRECATED_API = ( D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = ( D3D12_MESSAGE_ID_DEPRECATED_API + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = ( D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = ( D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = ( D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = ( D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = ( D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = ( D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = ( D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D + 1 ) ,
|
||||
D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = ( D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = ( D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_D3D12_MESSAGES_END = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED + 1 )
|
||||
} D3D12_MESSAGE_ID;
|
||||
|
||||
typedef struct D3D12_MESSAGE
|
||||
@@ -1490,8 +1949,8 @@ typedef struct D3D12_INFO_QUEUE_FILTER
|
||||
#define D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0004_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0004_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __ID3D12InfoQueue_INTERFACE_DEFINED__
|
||||
#define __ID3D12InfoQueue_INTERFACE_DEFINED__
|
||||
@@ -1898,20 +2357,23 @@ EXTERN_C const IID IID_ID3D12InfoQueue;
|
||||
#endif /* __ID3D12InfoQueue_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0005 */
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0008 */
|
||||
/* [local] */
|
||||
|
||||
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
|
||||
#pragma endregion
|
||||
DEFINE_GUID(IID_ID3D12Debug,0x344488b7,0x6846,0x474b,0xb9,0x89,0xf0,0x27,0x44,0x82,0x45,0xe0);
|
||||
DEFINE_GUID(IID_ID3D12Debug1,0xaffaa4ca,0x63fe,0x4d8e,0xb8,0xad,0x15,0x90,0x00,0xaf,0x43,0x04);
|
||||
DEFINE_GUID(IID_ID3D12DebugDevice1,0xa9b71770,0xd099,0x4a65,0xa6,0x98,0x3d,0xee,0x10,0x02,0x0f,0x88);
|
||||
DEFINE_GUID(IID_ID3D12DebugDevice,0x3febd6dd,0x4973,0x4787,0x81,0x94,0xe4,0x5f,0x9e,0x28,0x92,0x3e);
|
||||
DEFINE_GUID(IID_ID3D12DebugCommandQueue,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3a);
|
||||
DEFINE_GUID(IID_ID3D12DebugCommandList1,0x102ca951,0x311b,0x4b01,0xb1,0x1f,0xec,0xb8,0x3e,0x06,0x1b,0x37);
|
||||
DEFINE_GUID(IID_ID3D12DebugCommandList,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3f);
|
||||
DEFINE_GUID(IID_ID3D12InfoQueue,0x0742a90b,0xc387,0x483f,0xb9,0x46,0x30,0xa7,0xe4,0xe6,0x14,0x58);
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0005_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0005_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0008_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0008_v0_0_s_ifspec;
|
||||
|
||||
/* Additional Prototypes for ALL interfaces */
|
||||
|
||||
|
||||
+123
-3
@@ -3,7 +3,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
@@ -46,6 +46,13 @@ typedef interface ID3D10Blob ID3D10Blob;
|
||||
#endif /* __ID3D10Blob_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3DDestructionNotifier_FWD_DEFINED__
|
||||
#define __ID3DDestructionNotifier_FWD_DEFINED__
|
||||
typedef interface ID3DDestructionNotifier ID3DDestructionNotifier;
|
||||
|
||||
#endif /* __ID3DDestructionNotifier_FWD_DEFINED__ */
|
||||
|
||||
|
||||
/* header files for imported files */
|
||||
#include "oaidl.h"
|
||||
#include "ocidl.h"
|
||||
@@ -442,6 +449,119 @@ typedef ID3D10Blob ID3DBlob;
|
||||
|
||||
typedef ID3DBlob* LPD3DBLOB;
|
||||
#define IID_ID3DBlob IID_ID3D10Blob
|
||||
typedef void ( __stdcall *PFN_DESTRUCTION_CALLBACK )(
|
||||
void *pData);
|
||||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __ID3DDestructionNotifier_INTERFACE_DEFINED__
|
||||
#define __ID3DDestructionNotifier_INTERFACE_DEFINED__
|
||||
|
||||
/* interface ID3DDestructionNotifier */
|
||||
/* [unique][local][object][uuid] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_ID3DDestructionNotifier;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("a06eb39a-50da-425b-8c31-4eecd6c270f3")
|
||||
ID3DDestructionNotifier : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual HRESULT STDMETHODCALLTYPE RegisterDestructionCallback(
|
||||
/* [annotation] */
|
||||
_In_ PFN_DESTRUCTION_CALLBACK callbackFn,
|
||||
/* [annotation] */
|
||||
_In_ void *pData,
|
||||
/* [annotation] */
|
||||
_Out_ UINT *pCallbackID) = 0;
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE UnregisterDestructionCallback(
|
||||
/* [annotation] */
|
||||
_In_ UINT callbackID) = 0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct ID3DDestructionNotifierVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ID3DDestructionNotifier * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
_COM_Outptr_ void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ID3DDestructionNotifier * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ID3DDestructionNotifier * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *RegisterDestructionCallback )(
|
||||
ID3DDestructionNotifier * This,
|
||||
/* [annotation] */
|
||||
_In_ PFN_DESTRUCTION_CALLBACK callbackFn,
|
||||
/* [annotation] */
|
||||
_In_ void *pData,
|
||||
/* [annotation] */
|
||||
_Out_ UINT *pCallbackID);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *UnregisterDestructionCallback )(
|
||||
ID3DDestructionNotifier * This,
|
||||
/* [annotation] */
|
||||
_In_ UINT callbackID);
|
||||
|
||||
END_INTERFACE
|
||||
} ID3DDestructionNotifierVtbl;
|
||||
|
||||
interface ID3DDestructionNotifier
|
||||
{
|
||||
CONST_VTBL struct ID3DDestructionNotifierVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define ID3DDestructionNotifier_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define ID3DDestructionNotifier_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define ID3DDestructionNotifier_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define ID3DDestructionNotifier_RegisterDestructionCallback(This,callbackFn,pData,pCallbackID) \
|
||||
( (This)->lpVtbl -> RegisterDestructionCallback(This,callbackFn,pData,pCallbackID) )
|
||||
|
||||
#define ID3DDestructionNotifier_UnregisterDestructionCallback(This,callbackID) \
|
||||
( (This)->lpVtbl -> UnregisterDestructionCallback(This,callbackID) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __ID3DDestructionNotifier_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3dcommon_0000_0002 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
enum _D3D_INCLUDE_TYPE
|
||||
{
|
||||
@@ -866,8 +986,8 @@ DEFINE_GUID(WKPDID_CommentStringW,0xd0149dc0,0x90e8,0x4ec8,0x81, 0x44, 0xe9, 0x0
|
||||
#define D3D_COMPONENT_MASK_W 8
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0002_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0002_v0_0_s_ifspec;
|
||||
|
||||
/* Additional Prototypes for ALL interfaces */
|
||||
|
||||
|
||||
Vendored
+277
-48
@@ -3,7 +3,7 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// Abstract:
|
||||
// Public API definitions for DWrite, D2D and DImage.
|
||||
// Public API definitions shared by DWrite, D2D, and DImage.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
#pragma once
|
||||
@@ -21,84 +21,72 @@
|
||||
#define CHECKMETHOD(method) virtual DECLSPEC_NOTHROW _Must_inspect_result_ HRESULT STDMETHODCALLTYPE method
|
||||
#endif
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4201) // anonymous unions warning
|
||||
|
||||
//
|
||||
// Forward declarations
|
||||
//
|
||||
interface IDXGISurface;
|
||||
struct IDXGISurface;
|
||||
|
||||
//+----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// DWRITE_MEASURING_MODE
|
||||
//
|
||||
// Synopsis:
|
||||
// The measuring method used for text layout.
|
||||
//
|
||||
//-------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The measuring method used for text layout.
|
||||
/// </summary>
|
||||
typedef enum DWRITE_MEASURING_MODE
|
||||
{
|
||||
//
|
||||
// Text is measured using glyph ideal metrics whose values are independent to the current display resolution.
|
||||
//
|
||||
/// <summary>
|
||||
/// Text is measured using glyph ideal metrics whose values are independent to the current display resolution.
|
||||
/// </summary>
|
||||
DWRITE_MEASURING_MODE_NATURAL,
|
||||
|
||||
//
|
||||
// Text is measured using glyph display compatible metrics whose values tuned for the current display resolution.
|
||||
//
|
||||
/// <summary>
|
||||
/// Text is measured using glyph display compatible metrics whose values tuned for the current display resolution.
|
||||
/// </summary>
|
||||
DWRITE_MEASURING_MODE_GDI_CLASSIC,
|
||||
|
||||
//
|
||||
/// <summary>
|
||||
// Text is measured using the same glyph display metrics as text measured by GDI using a font
|
||||
// created with CLEARTYPE_NATURAL_QUALITY.
|
||||
//
|
||||
/// </summary>
|
||||
DWRITE_MEASURING_MODE_GDI_NATURAL
|
||||
|
||||
} DWRITE_MEASURING_MODE;
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_ALPHA_MODE
|
||||
//
|
||||
// Synopsis:
|
||||
// Qualifies how alpha is to be treated in a bitmap or render target containing
|
||||
// alpha.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Qualifies how alpha is to be treated in a bitmap or render target containing
|
||||
/// alpha.
|
||||
/// </summary>
|
||||
typedef enum D2D1_ALPHA_MODE
|
||||
{
|
||||
|
||||
//
|
||||
// Alpha mode should be determined implicitly. Some target surfaces do not supply
|
||||
// or imply this information in which case alpha must be specified.
|
||||
//
|
||||
/// <summary>
|
||||
/// Alpha mode should be determined implicitly. Some target surfaces do not supply
|
||||
/// or imply this information in which case alpha must be specified.
|
||||
/// </summary>
|
||||
D2D1_ALPHA_MODE_UNKNOWN = 0,
|
||||
|
||||
//
|
||||
// Treat the alpha as premultipled.
|
||||
//
|
||||
/// <summary>
|
||||
/// Treat the alpha as premultipled.
|
||||
/// </summary>
|
||||
D2D1_ALPHA_MODE_PREMULTIPLIED = 1,
|
||||
|
||||
//
|
||||
// Opacity is in the 'A' component only.
|
||||
//
|
||||
/// <summary>
|
||||
/// Opacity is in the 'A' component only.
|
||||
/// </summary>
|
||||
D2D1_ALPHA_MODE_STRAIGHT = 2,
|
||||
|
||||
//
|
||||
// Ignore any alpha channel information.
|
||||
//
|
||||
/// <summary>
|
||||
/// Ignore any alpha channel information.
|
||||
/// </summary>
|
||||
D2D1_ALPHA_MODE_IGNORE = 3,
|
||||
|
||||
D2D1_ALPHA_MODE_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_ALPHA_MODE;
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Struct:
|
||||
// D2D1_PIXEL_FORMAT
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Description of a pixel format.
|
||||
/// </summary>
|
||||
typedef struct D2D1_PIXEL_FORMAT
|
||||
{
|
||||
DXGI_FORMAT format;
|
||||
@@ -106,4 +94,245 @@ typedef struct D2D1_PIXEL_FORMAT
|
||||
|
||||
} D2D1_PIXEL_FORMAT;
|
||||
|
||||
/// <summary>
|
||||
/// Represents an x-coordinate and y-coordinate pair in two-dimensional space.
|
||||
/// </summary>
|
||||
typedef struct D2D_POINT_2U
|
||||
{
|
||||
UINT32 x;
|
||||
UINT32 y;
|
||||
|
||||
} D2D_POINT_2U;
|
||||
|
||||
/// <summary>
|
||||
/// Represents an x-coordinate and y-coordinate pair in two-dimensional space.
|
||||
/// </summary>
|
||||
typedef struct D2D_POINT_2F
|
||||
{
|
||||
FLOAT x;
|
||||
FLOAT y;
|
||||
|
||||
} D2D_POINT_2F;
|
||||
|
||||
typedef POINT D2D_POINT_2L;
|
||||
|
||||
/// <summary>
|
||||
/// A vector of 2 FLOAT values (x, y).
|
||||
/// </summary>
|
||||
typedef struct D2D_VECTOR_2F
|
||||
{
|
||||
FLOAT x;
|
||||
FLOAT y;
|
||||
|
||||
} D2D_VECTOR_2F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A vector of 3 FLOAT values (x, y, z).
|
||||
/// </summary>
|
||||
typedef struct D2D_VECTOR_3F
|
||||
{
|
||||
FLOAT x;
|
||||
FLOAT y;
|
||||
FLOAT z;
|
||||
|
||||
} D2D_VECTOR_3F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A vector of 4 FLOAT values (x, y, z, w).
|
||||
/// </summary>
|
||||
typedef struct D2D_VECTOR_4F
|
||||
{
|
||||
FLOAT x;
|
||||
FLOAT y;
|
||||
FLOAT z;
|
||||
FLOAT w;
|
||||
|
||||
} D2D_VECTOR_4F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a rectangle defined by the coordinates of the upper-left corner
|
||||
/// (left, top) and the coordinates of the lower-right corner (right, bottom).
|
||||
/// </summary>
|
||||
typedef struct D2D_RECT_F
|
||||
{
|
||||
FLOAT left;
|
||||
FLOAT top;
|
||||
FLOAT right;
|
||||
FLOAT bottom;
|
||||
|
||||
} D2D_RECT_F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a rectangle defined by the coordinates of the upper-left corner
|
||||
/// (left, top) and the coordinates of the lower-right corner (right, bottom).
|
||||
/// </summary>
|
||||
typedef struct D2D_RECT_U
|
||||
{
|
||||
UINT32 left;
|
||||
UINT32 top;
|
||||
UINT32 right;
|
||||
UINT32 bottom;
|
||||
|
||||
} D2D_RECT_U;
|
||||
|
||||
typedef RECT D2D_RECT_L;
|
||||
|
||||
/// <summary>
|
||||
/// Stores an ordered pair of floats, typically the width and height of a rectangle.
|
||||
/// </summary>
|
||||
typedef struct D2D_SIZE_F
|
||||
{
|
||||
FLOAT width;
|
||||
FLOAT height;
|
||||
|
||||
} D2D_SIZE_F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Stores an ordered pair of integers, typically the width and height of a
|
||||
/// rectangle.
|
||||
/// </summary>
|
||||
typedef struct D2D_SIZE_U
|
||||
{
|
||||
UINT32 width;
|
||||
UINT32 height;
|
||||
|
||||
} D2D_SIZE_U;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a 3-by-2 matrix.
|
||||
/// </summary>
|
||||
typedef struct D2D_MATRIX_3X2_F
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
/// <summary>
|
||||
/// Horizontal scaling / cosine of rotation
|
||||
/// </summary>
|
||||
FLOAT m11;
|
||||
|
||||
/// <summary>
|
||||
/// Vertical shear / sine of rotation
|
||||
/// </summary>
|
||||
FLOAT m12;
|
||||
|
||||
/// <summary>
|
||||
/// Horizontal shear / negative sine of rotation
|
||||
/// </summary>
|
||||
FLOAT m21;
|
||||
|
||||
/// <summary>
|
||||
/// Vertical scaling / cosine of rotation
|
||||
/// </summary>
|
||||
FLOAT m22;
|
||||
|
||||
/// <summary>
|
||||
/// Horizontal shift (always orthogonal regardless of rotation)
|
||||
/// </summary>
|
||||
FLOAT dx;
|
||||
|
||||
/// <summary>
|
||||
/// Vertical shift (always orthogonal regardless of rotation)
|
||||
/// </summary>
|
||||
FLOAT dy;
|
||||
};
|
||||
|
||||
struct
|
||||
{
|
||||
FLOAT _11, _12;
|
||||
FLOAT _21, _22;
|
||||
FLOAT _31, _32;
|
||||
};
|
||||
|
||||
FLOAT m[3][2];
|
||||
};
|
||||
|
||||
} D2D_MATRIX_3X2_F;
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a 4-by-3 matrix.
|
||||
/// </summary>
|
||||
typedef struct D2D_MATRIX_4X3_F
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
FLOAT _11, _12, _13;
|
||||
FLOAT _21, _22, _23;
|
||||
FLOAT _31, _32, _33;
|
||||
FLOAT _41, _42, _43;
|
||||
};
|
||||
|
||||
FLOAT m[4][3];
|
||||
};
|
||||
|
||||
} D2D_MATRIX_4X3_F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a 4-by-4 matrix.
|
||||
/// </summary>
|
||||
typedef struct D2D_MATRIX_4X4_F
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
FLOAT _11, _12, _13, _14;
|
||||
FLOAT _21, _22, _23, _24;
|
||||
FLOAT _31, _32, _33, _34;
|
||||
FLOAT _41, _42, _43, _44;
|
||||
};
|
||||
|
||||
FLOAT m[4][4];
|
||||
};
|
||||
|
||||
} D2D_MATRIX_4X4_F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a 5-by-4 matrix.
|
||||
/// </summary>
|
||||
typedef struct D2D_MATRIX_5X4_F
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
FLOAT _11, _12, _13, _14;
|
||||
FLOAT _21, _22, _23, _24;
|
||||
FLOAT _31, _32, _33, _34;
|
||||
FLOAT _41, _42, _43, _44;
|
||||
FLOAT _51, _52, _53, _54;
|
||||
};
|
||||
|
||||
FLOAT m[5][4];
|
||||
};
|
||||
|
||||
} D2D_MATRIX_5X4_F;
|
||||
|
||||
|
||||
typedef D2D_POINT_2F D2D1_POINT_2F;
|
||||
typedef D2D_POINT_2U D2D1_POINT_2U;
|
||||
typedef D2D_POINT_2L D2D1_POINT_2L;
|
||||
typedef D2D_RECT_F D2D1_RECT_F;
|
||||
typedef D2D_RECT_U D2D1_RECT_U;
|
||||
typedef D2D_RECT_L D2D1_RECT_L;
|
||||
typedef D2D_SIZE_F D2D1_SIZE_F;
|
||||
typedef D2D_SIZE_U D2D1_SIZE_U;
|
||||
typedef D2D_MATRIX_3X2_F D2D1_MATRIX_3X2_F;
|
||||
|
||||
|
||||
#pragma warning(pop)
|
||||
|
||||
#endif /* DCOMMON_H_INCLUDED */
|
||||
|
||||
Vendored
+15
-11
@@ -10,9 +10,7 @@
|
||||
#ifndef DWRITE_H_INCLUDED
|
||||
#define DWRITE_H_INCLUDED
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#ifndef DWRITE_NO_WINDOWS_H
|
||||
|
||||
@@ -56,7 +54,7 @@ enum DWRITE_FONT_FILE_TYPE
|
||||
/// <summary>
|
||||
/// OpenType font that contains a TrueType collection.
|
||||
/// </summary>
|
||||
DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION,
|
||||
DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION,
|
||||
|
||||
/// <summary>
|
||||
/// Type 1 PFM font.
|
||||
@@ -76,7 +74,10 @@ enum DWRITE_FONT_FILE_TYPE
|
||||
/// <summary>
|
||||
/// Bitmap .FON font.
|
||||
/// </summary>
|
||||
DWRITE_FONT_FILE_TYPE_BITMAP
|
||||
DWRITE_FONT_FILE_TYPE_BITMAP,
|
||||
|
||||
// The following name is obsolete, but kept as an alias to avoid breaking existing code.
|
||||
DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@@ -97,9 +98,9 @@ enum DWRITE_FONT_FACE_TYPE
|
||||
DWRITE_FONT_FACE_TYPE_TRUETYPE,
|
||||
|
||||
/// <summary>
|
||||
/// OpenType font face that is a part of a TrueType collection.
|
||||
/// OpenType font face that is a part of a TrueType or CFF collection.
|
||||
/// </summary>
|
||||
DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION,
|
||||
DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION,
|
||||
|
||||
/// <summary>
|
||||
/// A Type 1 font face.
|
||||
@@ -127,7 +128,10 @@ enum DWRITE_FONT_FACE_TYPE
|
||||
/// font file loaders) and the resulting font face object supports only the
|
||||
/// minimum functionality necessary to render glyphs.
|
||||
/// </summary>
|
||||
DWRITE_FONT_FACE_TYPE_RAW_CFF
|
||||
DWRITE_FONT_FACE_TYPE_RAW_CFF,
|
||||
|
||||
// The following name is obsolete, but kept as an alias to avoid breaking existing code.
|
||||
DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@@ -2446,7 +2450,7 @@ enum DWRITE_NUMBER_SUBSTITUTION_METHOD
|
||||
/// <summary>
|
||||
/// Holds the appropriate digits and numeric punctuation for a given locale.
|
||||
/// </summary>
|
||||
interface DECLSPEC_UUID("14885CC9-BAB0-4f90-B6ED-5C366A2CD03D") DECLSPEC_NOVTABLE IDWriteNumberSubstitution : public IUnknown
|
||||
interface DWRITE_DECLARE_INTERFACE("14885CC9-BAB0-4f90-B6ED-5C366A2CD03D") IDWriteNumberSubstitution : public IUnknown
|
||||
{
|
||||
};
|
||||
|
||||
@@ -2511,7 +2515,7 @@ struct DWRITE_SHAPING_GLYPH_PROPERTIES
|
||||
/// stop prematurely and return a callback error. Rather than return E_NOTIMPL,
|
||||
/// an application should stub the method and return a constant/null and S_OK.
|
||||
/// </summary>
|
||||
interface DECLSPEC_UUID("688e1a58-5094-47c8-adc8-fbcea60ae92b") DECLSPEC_NOVTABLE IDWriteTextAnalysisSource : public IUnknown
|
||||
interface DWRITE_DECLARE_INTERFACE("688e1a58-5094-47c8-adc8-fbcea60ae92b") IDWriteTextAnalysisSource : public IUnknown
|
||||
{
|
||||
/// <summary>
|
||||
/// Get a block of text starting at the specified text position.
|
||||
@@ -2620,7 +2624,7 @@ interface DECLSPEC_UUID("688e1a58-5094-47c8-adc8-fbcea60ae92b") DECLSPEC_NOVTABL
|
||||
/// state of the analysis sink, therefore a Set method call on a range
|
||||
/// overwrites the previously set analysis result of the same range.
|
||||
/// </summary>
|
||||
interface DECLSPEC_UUID("5810cd44-0ca0-4701-b3fa-bec5182ae4f6") DECLSPEC_NOVTABLE IDWriteTextAnalysisSink : public IUnknown
|
||||
interface DWRITE_DECLARE_INTERFACE("5810cd44-0ca0-4701-b3fa-bec5182ae4f6") IDWriteTextAnalysisSink : public IUnknown
|
||||
{
|
||||
/// <summary>
|
||||
/// Report script analysis for the text range.
|
||||
@@ -2918,7 +2922,7 @@ interface DWRITE_DECLARE_INTERFACE("b7e6163e-7f46-43b4-84b3-e4e6249c365d") IDWri
|
||||
_In_reads_(glyphCount) UINT16 const* glyphIndices,
|
||||
_In_reads_(glyphCount) DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProps,
|
||||
UINT32 glyphCount,
|
||||
_In_ IDWriteFontFace * fontFace,
|
||||
_In_ IDWriteFontFace* fontFace,
|
||||
FLOAT fontEmSize,
|
||||
BOOL isSideways,
|
||||
BOOL isRightToLeft,
|
||||
|
||||
Vendored
+6
-2
@@ -1101,6 +1101,8 @@ interface DWRITE_DECLARE_INTERFACE("a71efdb4-9fdb-4838-ad90-cfc3be8c3daf") IDWri
|
||||
_Out_ DWRITE_FONT_METRICS1* fontMetrics
|
||||
) PURE;
|
||||
|
||||
using IDWriteFontFace::GetMetrics;
|
||||
|
||||
/// <summary>
|
||||
/// Gets common metrics for the font in design units.
|
||||
/// These metrics are applicable to all the glyphs within a font,
|
||||
@@ -1355,6 +1357,8 @@ interface DWRITE_DECLARE_INTERFACE("acd16696-8c14-4f5d-877e-fe3fc1d32738") IDWri
|
||||
_Out_ DWRITE_FONT_METRICS1* fontMetrics
|
||||
) PURE;
|
||||
|
||||
using IDWriteFont::GetMetrics;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the PANOSE values from the font, used for font selection and
|
||||
/// matching.
|
||||
@@ -1714,7 +1718,7 @@ interface DWRITE_DECLARE_INTERFACE("80DAD800-E21F-4E83-96CE-BFCCE500DB7C") IDWri
|
||||
/// If any of these callbacks returns an error, the analysis functions will
|
||||
/// stop prematurely and return a callback error.
|
||||
/// </summary>
|
||||
interface DECLSPEC_UUID("{639CFAD8-0FB4-4B21-A58A-067920120009}") DECLSPEC_NOVTABLE IDWriteTextAnalysisSource1 : public IDWriteTextAnalysisSource
|
||||
interface DWRITE_DECLARE_INTERFACE("639CFAD8-0FB4-4B21-A58A-067920120009") IDWriteTextAnalysisSource1 : public IDWriteTextAnalysisSource
|
||||
{
|
||||
/// <summary>
|
||||
/// The text analyzer calls back to this to get the desired glyph
|
||||
@@ -1753,7 +1757,7 @@ interface DECLSPEC_UUID("{639CFAD8-0FB4-4B21-A58A-067920120009}") DECLSPEC_NOVTA
|
||||
/// The interface implemented by the client to receive the
|
||||
/// output of the text analyzers.
|
||||
/// </summary>
|
||||
interface DECLSPEC_UUID("B0D941A0-85E7-4D8B-9FD3-5CED9934482A") DECLSPEC_NOVTABLE IDWriteTextAnalysisSink1 : public IDWriteTextAnalysisSink
|
||||
interface DWRITE_DECLARE_INTERFACE("B0D941A0-85E7-4D8B-9FD3-5CED9934482A") IDWriteTextAnalysisSink1 : public IDWriteTextAnalysisSink
|
||||
{
|
||||
/// <summary>
|
||||
/// The text analyzer calls back to this to report the actual orientation
|
||||
|
||||
Vendored
+10
-6
@@ -554,8 +554,8 @@ interface DWRITE_DECLARE_INTERFACE("EFA008F9-F7A1-48BF-B05C-F224713CC0FF") IDWri
|
||||
DWRITE_FONT_WEIGHT baseWeight,
|
||||
DWRITE_FONT_STYLE baseStyle,
|
||||
DWRITE_FONT_STRETCH baseStretch,
|
||||
_Deref_out_range_(0, textLength) UINT32* mappedLength,
|
||||
_COM_Outptr_ IDWriteFont** mappedFont,
|
||||
_Out_range_(0, textLength) UINT32* mappedLength,
|
||||
_COM_Outptr_result_maybenull_ IDWriteFont** mappedFont,
|
||||
_Out_ FLOAT* scale
|
||||
) PURE;
|
||||
};
|
||||
@@ -653,8 +653,10 @@ typedef D3DCOLORVALUE DWRITE_COLOR_F;
|
||||
interface DWRITE_DECLARE_INTERFACE("29748ed6-8c9c-4a6a-be0b-d912e8538944") IDWriteFont2 : public IDWriteFont1
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns TRUE if the font contains color information (COLR and CPAL tables),
|
||||
/// or FALSE if not.
|
||||
/// Returns TRUE if the font contains tables that can provide color information
|
||||
/// (including COLR, CPAL, SVG, CBDT, sbix tables), or FALSE if not. Note that
|
||||
/// TRUE is returned even in the case when the font tables contain only grayscale
|
||||
/// images.
|
||||
/// </summary>
|
||||
STDMETHOD_(BOOL, IsColorFont)() PURE;
|
||||
};
|
||||
@@ -667,8 +669,10 @@ interface DWRITE_DECLARE_INTERFACE("29748ed6-8c9c-4a6a-be0b-d912e8538944") IDWri
|
||||
interface DWRITE_DECLARE_INTERFACE("d8b768ff-64bc-4e66-982b-ec8e87f693f7") IDWriteFontFace2 : public IDWriteFontFace1
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns TRUE if the font contains color information (COLR and CPAL tables),
|
||||
/// or FALSE if not.
|
||||
/// Returns TRUE if the font contains tables that can provide color information
|
||||
/// (including COLR, CPAL, SVG, CBDT, sbix tables), or FALSE if not. Note that
|
||||
/// TRUE is returned even in the case when the font tables contain only grayscale
|
||||
/// images.
|
||||
/// </summary>
|
||||
STDMETHOD_(BOOL, IsColorFont)() PURE;
|
||||
|
||||
|
||||
Vendored
+319
-3
@@ -10,9 +10,7 @@
|
||||
#ifndef DWRITE_3_H_INCLUDED
|
||||
#define DWRITE_3_H_INCLUDED
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <DWrite_2.h>
|
||||
|
||||
@@ -1247,6 +1245,8 @@ interface DWRITE_DECLARE_INTERFACE("D37D7598-09BE-4222-A236-2081341CC1F2") IDWri
|
||||
_Out_ DWRITE_GRID_FIT_MODE* gridFitMode
|
||||
) PURE;
|
||||
|
||||
using IDWriteFontFace2::GetRecommendedRenderingMode;
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether the character is locally downloaded from the font.
|
||||
/// </summary>
|
||||
@@ -1740,4 +1740,320 @@ interface DWRITE_DECLARE_INTERFACE("07DDCD52-020E-4DE8-AC33-6C953D83F92D") IDWri
|
||||
) PURE;
|
||||
};
|
||||
|
||||
#endif /* DWRITE_3_H_INCLUDED */
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
#if NTDDI_VERSION >= NTDDI_WIN10_RS1
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Fonts may contain multiple drawable data formats for glyphs. These flags specify which formats
|
||||
/// are supported in the font, either at a font-wide level or per glyph, and the app may use them
|
||||
/// to tell DWrite which formats to return when splitting a color glyph run.
|
||||
/// </summary>
|
||||
enum DWRITE_GLYPH_IMAGE_FORMATS
|
||||
{
|
||||
/// <summary>
|
||||
/// Indicates no data is available for this glyph.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_NONE = 0x00000000,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has TrueType outlines.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE = 0x00000001,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has CFF outlines.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_CFF = 0x00000002,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has multilayered COLR data.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_COLR = 0x00000004,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has SVG outlines as standard XML.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Fonts may store the content gzip'd rather than plain text,
|
||||
/// indicated by the first two bytes as gzip header {0x1F 0x8B}.
|
||||
/// </remarks>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_SVG = 0x00000008,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has PNG image data, with standard PNG IHDR.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_PNG = 0x00000010,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has JPEG image data, with standard JIFF SOI header.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_JPEG = 0x00000020,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has TIFF image data.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_TIFF = 0x00000040,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has raw 32-bit premultiplied BGRA data.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8 = 0x00000080,
|
||||
};
|
||||
|
||||
#ifdef DEFINE_ENUM_FLAG_OPERATORS
|
||||
DEFINE_ENUM_FLAG_OPERATORS(DWRITE_GLYPH_IMAGE_FORMATS);
|
||||
#endif
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a color glyph run. The IDWriteFactory4::TranslateColorGlyphRun
|
||||
/// method returns an ordered collection of color glyph runs of varying types
|
||||
/// depending on what the font supports.
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// For runs without any specific color, such as PNG data, the runColor field will be zero.
|
||||
/// </summary>
|
||||
struct DWRITE_COLOR_GLYPH_RUN1 : DWRITE_COLOR_GLYPH_RUN
|
||||
{
|
||||
/// <summary>
|
||||
/// Type of glyph image format for this color run. Exactly one type will be set since
|
||||
/// TranslateColorGlyphRun has already broken down the run into separate parts.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat;
|
||||
|
||||
/// <summary>
|
||||
/// Measuring mode to use for this glyph run.
|
||||
/// </summary>
|
||||
DWRITE_MEASURING_MODE measuringMode;
|
||||
};
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Data for a single glyph from GetGlyphImageData.
|
||||
/// </summary>
|
||||
struct DWRITE_GLYPH_IMAGE_DATA
|
||||
{
|
||||
/// <summary>
|
||||
/// Pointer to the glyph data, be it SVG, PNG, JPEG, TIFF.
|
||||
/// </summary>
|
||||
_Field_size_bytes_(imageDataSize) void const* imageData;
|
||||
|
||||
/// <summary>
|
||||
/// Size of glyph data in bytes.
|
||||
/// </summary>
|
||||
UINT32 imageDataSize;
|
||||
|
||||
/// <summary>
|
||||
/// Unique identifier for the glyph data. Clients may use this to cache a parsed/decompressed
|
||||
/// version and tell whether a repeated call to the same font returns the same data.
|
||||
/// </summary>
|
||||
UINT32 uniqueDataId;
|
||||
|
||||
/// <summary>
|
||||
/// Pixels per em of the returned data. For non-scalable raster data (PNG/TIFF/JPG), this can be larger
|
||||
/// or smaller than requested from GetGlyphImageData when there isn't an exact match.
|
||||
/// For scaling intermediate sizes, use: desired pixels per em * font em size / actual pixels per em.
|
||||
/// </summary>
|
||||
UINT32 pixelsPerEm;
|
||||
|
||||
/// <summary>
|
||||
/// Size of image when the format is pixel data.
|
||||
/// </summary>
|
||||
D2D1_SIZE_U pixelSize;
|
||||
|
||||
/// <summary>
|
||||
/// Left origin along the horizontal Roman baseline.
|
||||
/// </summary>
|
||||
D2D1_POINT_2L horizontalLeftOrigin;
|
||||
|
||||
/// <summary>
|
||||
/// Right origin along the horizontal Roman baseline.
|
||||
/// </summary>
|
||||
D2D1_POINT_2L horizontalRightOrigin;
|
||||
|
||||
/// <summary>
|
||||
/// Top origin along the vertical central baseline.
|
||||
/// </summary>
|
||||
D2D1_POINT_2L verticalTopOrigin;
|
||||
|
||||
/// <summary>
|
||||
/// Bottom origin along vertical central baseline.
|
||||
/// </summary>
|
||||
D2D1_POINT_2L verticalBottomOrigin;
|
||||
};
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Enumerator for an ordered collection of color glyph runs.
|
||||
/// </summary>
|
||||
interface DWRITE_DECLARE_INTERFACE("7C5F86DA-C7A1-4F05-B8E1-55A179FE5A35") IDWriteColorGlyphRunEnumerator1 : public IDWriteColorGlyphRunEnumerator
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the current color glyph run.
|
||||
/// </summary>
|
||||
/// <param name="colorGlyphRun">Receives a pointer to the color
|
||||
/// glyph run. The pointer remains valid until the next call to
|
||||
/// MoveNext or until the interface is released.</param>
|
||||
/// <returns>
|
||||
/// Standard HRESULT error code. An error is returned if there is
|
||||
/// no current glyph run, i.e., if MoveNext has not yet been called
|
||||
/// or if the end of the sequence has been reached.
|
||||
/// </returns>
|
||||
STDMETHOD(GetCurrentRun)(
|
||||
_Outptr_ DWRITE_COLOR_GLYPH_RUN1 const** colorGlyphRun
|
||||
) PURE;
|
||||
|
||||
using IDWriteColorGlyphRunEnumerator::GetCurrentRun;
|
||||
};
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The interface that represents an absolute reference to a font face.
|
||||
/// It contains font face type, appropriate file references and face identification data.
|
||||
/// Various font data such as metrics, names and glyph outlines is obtained from IDWriteFontFace.
|
||||
/// </summary>
|
||||
interface DWRITE_DECLARE_INTERFACE("27F2A904-4EB8-441D-9678-0563F53E3E2F") IDWriteFontFace4 : public IDWriteFontFace3
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets all the glyph image formats supported by the entire font (SVG, PNG, JPEG, ...).
|
||||
/// </summary>
|
||||
STDMETHOD_(DWRITE_GLYPH_IMAGE_FORMATS, GetGlyphImageFormats)() PURE;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the available image formats of a specific glyph and ppem. Glyphs often have at least TrueType
|
||||
/// or CFF outlines, but they may also have SVG outlines, or they may have only bitmaps
|
||||
/// with no TrueType/CFF outlines. Some image formats, notably the PNG/JPEG ones, are size
|
||||
/// specific and will return no match when there isn't an entry in that size range.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Glyph ids beyond the glyph count return DWRITE_GLYPH_IMAGE_FORMATS_NONE.
|
||||
/// </remarks>
|
||||
STDMETHOD(GetGlyphImageFormats)(
|
||||
UINT16 glyphId,
|
||||
UINT32 pixelsPerEmFirst,
|
||||
UINT32 pixelsPerEmLast,
|
||||
_Out_ DWRITE_GLYPH_IMAGE_FORMATS* glyphImageFormats
|
||||
) PURE;
|
||||
|
||||
/// <summary>
|
||||
/// Gets a pointer to the glyph data based on the desired image format.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The glyphDataContext must be released via ReleaseGlyphImageData when done if the data is not empty,
|
||||
/// similar to IDWriteFontFileStream::ReadFileFragment and IDWriteFontFileStream::ReleaseFileFragment.
|
||||
/// The data pointer is valid so long as the IDWriteFontFace exists and ReleaseGlyphImageData has not
|
||||
/// been called.
|
||||
/// </remarks>
|
||||
/// <remarks>
|
||||
/// The DWRITE_GLYPH_IMAGE_DATA::uniqueDataId is valuable for caching purposes so that if the same
|
||||
/// resource is returned more than once, an existing resource can be quickly retrieved rather than
|
||||
/// needing to reparse or decompress the data.
|
||||
/// </remarks>
|
||||
/// <remarks>
|
||||
/// The function only returns SVG or raster data - requesting TrueType/CFF/COLR data returns
|
||||
/// DWRITE_E_INVALIDARG. Those must be drawn via DrawGlyphRun or queried using GetGlyphOutline instead.
|
||||
/// Exactly one format may be requested or else the function returns DWRITE_E_INVALIDARG.
|
||||
/// If the glyph does not have that format, the call is not an error, but the function returns empty data.
|
||||
/// </remarks>
|
||||
STDMETHOD(GetGlyphImageData)(
|
||||
_In_ UINT16 glyphId,
|
||||
UINT32 pixelsPerEm,
|
||||
DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat,
|
||||
_Out_ DWRITE_GLYPH_IMAGE_DATA* glyphData,
|
||||
_Outptr_result_maybenull_ void** glyphDataContext
|
||||
) PURE;
|
||||
|
||||
/// <summary>
|
||||
/// Releases the table data obtained earlier from ReadGlyphData.
|
||||
/// </summary>
|
||||
/// <param name="glyphDataContext">Opaque context from ReadGlyphData.</param>
|
||||
STDMETHOD_(void, ReleaseGlyphImageData)(
|
||||
void* glyphDataContext
|
||||
) PURE;
|
||||
};
|
||||
|
||||
|
||||
interface DWRITE_DECLARE_INTERFACE("4B0B5BD3-0797-4549-8AC5-FE915CC53856") IDWriteFactory4 : public IDWriteFactory3
|
||||
{
|
||||
/// <summary>
|
||||
/// Translates a glyph run to a sequence of color glyph runs, which can be
|
||||
/// rendered to produce a color representation of the original "base" run.
|
||||
/// </summary>
|
||||
/// <param name="baselineOriginX">Horizontal and vertical origin of the base glyph run in
|
||||
/// pre-transform coordinates.</param>
|
||||
/// <param name="glyphRun">Pointer to the original "base" glyph run.</param>
|
||||
/// <param name="glyphRunDescription">Optional glyph run description.</param>
|
||||
/// <param name="glyphImageFormats">Which data formats TranslateColorGlyphRun
|
||||
/// should split the runs into.</param>
|
||||
/// <param name="measuringMode">Measuring mode, needed to compute the origins
|
||||
/// of each glyph.</param>
|
||||
/// <param name="worldToDeviceTransform">Matrix converting from the client's
|
||||
/// coordinate space to device coordinates (pixels), i.e., the world transform
|
||||
/// multiplied by any DPI scaling.</param>
|
||||
/// <param name="colorPaletteIndex">Zero-based index of the color palette to use.
|
||||
/// Valid indices are less than the number of palettes in the font, as returned
|
||||
/// by IDWriteFontFace2::GetColorPaletteCount.</param>
|
||||
/// <param name="colorLayers">If the function succeeds, receives a pointer
|
||||
/// to an enumerator object that can be used to obtain the color glyph runs.
|
||||
/// If the base run has no color glyphs, then the output pointer is NULL
|
||||
/// and the method returns DWRITE_E_NOCOLOR.</param>
|
||||
/// <returns>
|
||||
/// Returns DWRITE_E_NOCOLOR if the font has no color information, the glyph run
|
||||
/// does not contain any color glyphs, or the specified color palette index
|
||||
/// is out of range. In this case, the client should render the original glyph
|
||||
/// run. Otherwise, returns a standard HRESULT error code.
|
||||
/// </returns>
|
||||
/// <remarks>
|
||||
/// The old IDWriteFactory2::TranslateColorGlyphRun is equivalent to passing
|
||||
/// DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE|CFF|COLR.
|
||||
/// </remarks>
|
||||
STDMETHOD(TranslateColorGlyphRun)(
|
||||
D2D1_POINT_2F baselineOrigin,
|
||||
_In_ DWRITE_GLYPH_RUN const* glyphRun,
|
||||
_In_opt_ DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
|
||||
DWRITE_GLYPH_IMAGE_FORMATS desiredGlyphImageFormats,
|
||||
DWRITE_MEASURING_MODE measuringMode,
|
||||
_In_opt_ DWRITE_MATRIX const* worldAndDpiTransform,
|
||||
UINT32 colorPaletteIndex,
|
||||
_COM_Outptr_ IDWriteColorGlyphRunEnumerator1** colorLayers
|
||||
) PURE;
|
||||
|
||||
using IDWriteFactory2::TranslateColorGlyphRun;
|
||||
|
||||
/// <summary>
|
||||
/// Converts glyph run placements to glyph origins.
|
||||
/// </summary>
|
||||
/// <returns>
|
||||
/// Standard HRESULT error code.
|
||||
/// </returns>
|
||||
/// <remarks>
|
||||
/// The transform and DPI have no affect on the origin scaling.
|
||||
/// They are solely used to compute glyph advances when not supplied
|
||||
/// and align glyphs in pixel aligned measuring modes.
|
||||
/// </remarks>
|
||||
STDMETHOD(ComputeGlyphOrigins)(
|
||||
DWRITE_GLYPH_RUN const* glyphRun,
|
||||
DWRITE_MEASURING_MODE measuringMode,
|
||||
D2D1_POINT_2F baselineOrigin,
|
||||
_In_opt_ DWRITE_MATRIX const* worldAndDpiTransform,
|
||||
_Out_writes_(glyphRun->glyphCount) D2D1_POINT_2F* glyphOrigins
|
||||
) PURE;
|
||||
|
||||
/// <summary>
|
||||
/// Converts glyph run placements to glyph origins. This overload is for natural metrics, which
|
||||
/// includes SVG, TrueType natural modes, and bitmap placement.
|
||||
/// </summary>
|
||||
STDMETHOD(ComputeGlyphOrigins)(
|
||||
DWRITE_GLYPH_RUN const* glyphRun,
|
||||
D2D1_POINT_2F baselineOrigin,
|
||||
_Out_writes_(glyphRun->glyphCount) D2D1_POINT_2F* glyphOrigins
|
||||
) PURE;
|
||||
};
|
||||
|
||||
#endif // NTDDI_VERSION >= NTDDI_WIN10_RS1
|
||||
|
||||
#endif // DWRITE_3_H_INCLUDED
|
||||
|
||||
Vendored
+4
-2
@@ -3,7 +3,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
@@ -273,7 +273,8 @@ enum DXGI_SWAP_CHAIN_FLAG
|
||||
DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128,
|
||||
DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256,
|
||||
DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512,
|
||||
DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024
|
||||
DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024,
|
||||
DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048
|
||||
} DXGI_SWAP_CHAIN_FLAG;
|
||||
|
||||
typedef struct DXGI_SWAP_CHAIN_DESC
|
||||
@@ -1684,6 +1685,7 @@ EXTERN_C const IID IID_IDXGIOutput;
|
||||
#define DXGI_PRESENT_STEREO_TEMPORARY_MONO 0x00000020UL
|
||||
#define DXGI_PRESENT_RESTRICT_TO_OUTPUT 0x00000040UL
|
||||
#define DXGI_PRESENT_USE_DURATION 0x00000100UL
|
||||
#define DXGI_PRESENT_ALLOW_TEARING 0x00000200UL
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0008_v0_0_c_ifspec;
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+1533
File diff suppressed because it is too large
Load Diff
Vendored
+6
@@ -119,6 +119,12 @@ typedef enum DXGI_COLOR_SPACE_TYPE
|
||||
DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 = 9,
|
||||
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 = 10,
|
||||
DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 = 11,
|
||||
DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 = 12,
|
||||
DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020 = 13,
|
||||
DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020 = 14,
|
||||
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020 = 15,
|
||||
DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020 = 16,
|
||||
DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020 = 17,
|
||||
DXGI_COLOR_SPACE_CUSTOM = 0xFFFFFFFF
|
||||
} DXGI_COLOR_SPACE_TYPE;
|
||||
|
||||
|
||||
+295
@@ -0,0 +1,295 @@
|
||||
/*
|
||||
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
|
||||
Module Name:
|
||||
|
||||
sdkddkver.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Master include file for versioning windows SDK/DDK.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef _INC_SDKDDKVER
|
||||
#define _INC_SDKDDKVER
|
||||
|
||||
#if (_MSC_VER >= 800)
|
||||
#if (_MSC_VER >= 1200)
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4668) /* #if not_defined treated as #if 0 */
|
||||
#endif
|
||||
#pragma warning(disable:4001) /* nonstandard extension : single line comment */
|
||||
#endif
|
||||
|
||||
#pragma once
|
||||
|
||||
//
|
||||
// _WIN32_WINNT version constants
|
||||
//
|
||||
#define _WIN32_WINNT_NT4 0x0400
|
||||
#define _WIN32_WINNT_WIN2K 0x0500
|
||||
#define _WIN32_WINNT_WINXP 0x0501
|
||||
#define _WIN32_WINNT_WS03 0x0502
|
||||
#define _WIN32_WINNT_WIN6 0x0600
|
||||
#define _WIN32_WINNT_VISTA 0x0600
|
||||
#define _WIN32_WINNT_WS08 0x0600
|
||||
#define _WIN32_WINNT_LONGHORN 0x0600
|
||||
#define _WIN32_WINNT_WIN7 0x0601
|
||||
#define _WIN32_WINNT_WIN8 0x0602
|
||||
#define _WIN32_WINNT_WINBLUE 0x0603
|
||||
#define _WIN32_WINNT_WINTHRESHOLD 0x0A00 /* ABRACADABRA_THRESHOLD*/
|
||||
#define _WIN32_WINNT_WIN10 0x0A00 /* ABRACADABRA_THRESHOLD*/
|
||||
|
||||
//
|
||||
// _WIN32_IE_ version constants
|
||||
//
|
||||
#define _WIN32_IE_IE20 0x0200
|
||||
#define _WIN32_IE_IE30 0x0300
|
||||
#define _WIN32_IE_IE302 0x0302
|
||||
#define _WIN32_IE_IE40 0x0400
|
||||
#define _WIN32_IE_IE401 0x0401
|
||||
#define _WIN32_IE_IE50 0x0500
|
||||
#define _WIN32_IE_IE501 0x0501
|
||||
#define _WIN32_IE_IE55 0x0550
|
||||
#define _WIN32_IE_IE60 0x0600
|
||||
#define _WIN32_IE_IE60SP1 0x0601
|
||||
#define _WIN32_IE_IE60SP2 0x0603
|
||||
#define _WIN32_IE_IE70 0x0700
|
||||
#define _WIN32_IE_IE80 0x0800
|
||||
#define _WIN32_IE_IE90 0x0900
|
||||
#define _WIN32_IE_IE100 0x0A00
|
||||
#define _WIN32_IE_IE110 0x0A00 /* ABRACADABRA_THRESHOLD */
|
||||
|
||||
//
|
||||
// IE <-> OS version mapping
|
||||
//
|
||||
// NT4 supports IE versions 2.0 -> 6.0 SP1
|
||||
#define _WIN32_IE_NT4 _WIN32_IE_IE20
|
||||
#define _WIN32_IE_NT4SP1 _WIN32_IE_IE20
|
||||
#define _WIN32_IE_NT4SP2 _WIN32_IE_IE20
|
||||
#define _WIN32_IE_NT4SP3 _WIN32_IE_IE302
|
||||
#define _WIN32_IE_NT4SP4 _WIN32_IE_IE401
|
||||
#define _WIN32_IE_NT4SP5 _WIN32_IE_IE401
|
||||
#define _WIN32_IE_NT4SP6 _WIN32_IE_IE50
|
||||
// Win98 supports IE versions 4.01 -> 6.0 SP1
|
||||
#define _WIN32_IE_WIN98 _WIN32_IE_IE401
|
||||
// Win98SE supports IE versions 5.0 -> 6.0 SP1
|
||||
#define _WIN32_IE_WIN98SE _WIN32_IE_IE50
|
||||
// WinME supports IE versions 5.5 -> 6.0 SP1
|
||||
#define _WIN32_IE_WINME _WIN32_IE_IE55
|
||||
// Win2k supports IE versions 5.01 -> 6.0 SP1
|
||||
#define _WIN32_IE_WIN2K _WIN32_IE_IE501
|
||||
#define _WIN32_IE_WIN2KSP1 _WIN32_IE_IE501
|
||||
#define _WIN32_IE_WIN2KSP2 _WIN32_IE_IE501
|
||||
#define _WIN32_IE_WIN2KSP3 _WIN32_IE_IE501
|
||||
#define _WIN32_IE_WIN2KSP4 _WIN32_IE_IE501
|
||||
#define _WIN32_IE_XP _WIN32_IE_IE60
|
||||
#define _WIN32_IE_XPSP1 _WIN32_IE_IE60SP1
|
||||
#define _WIN32_IE_XPSP2 _WIN32_IE_IE60SP2
|
||||
#define _WIN32_IE_WS03 0x0602
|
||||
#define _WIN32_IE_WS03SP1 _WIN32_IE_IE60SP2
|
||||
#define _WIN32_IE_WIN6 _WIN32_IE_IE70
|
||||
#define _WIN32_IE_LONGHORN _WIN32_IE_IE70
|
||||
#define _WIN32_IE_WIN7 _WIN32_IE_IE80
|
||||
#define _WIN32_IE_WIN8 _WIN32_IE_IE100
|
||||
#define _WIN32_IE_WINBLUE _WIN32_IE_IE100
|
||||
#define _WIN32_IE_WINTHRESHOLD _WIN32_IE_IE110 /* ABRACADABRA_THRESHOLD */
|
||||
#define _WIN32_IE_WIN10 _WIN32_IE_IE110 /* ABRACADABRA_THRESHOLD */
|
||||
|
||||
|
||||
//
|
||||
// NTDDI version constants
|
||||
//
|
||||
#define NTDDI_WIN2K 0x05000000
|
||||
#define NTDDI_WIN2KSP1 0x05000100
|
||||
#define NTDDI_WIN2KSP2 0x05000200
|
||||
#define NTDDI_WIN2KSP3 0x05000300
|
||||
#define NTDDI_WIN2KSP4 0x05000400
|
||||
|
||||
#define NTDDI_WINXP 0x05010000
|
||||
#define NTDDI_WINXPSP1 0x05010100
|
||||
#define NTDDI_WINXPSP2 0x05010200
|
||||
#define NTDDI_WINXPSP3 0x05010300
|
||||
#define NTDDI_WINXPSP4 0x05010400
|
||||
|
||||
#define NTDDI_WS03 0x05020000
|
||||
#define NTDDI_WS03SP1 0x05020100
|
||||
#define NTDDI_WS03SP2 0x05020200
|
||||
#define NTDDI_WS03SP3 0x05020300
|
||||
#define NTDDI_WS03SP4 0x05020400
|
||||
|
||||
#define NTDDI_WIN6 0x06000000
|
||||
#define NTDDI_WIN6SP1 0x06000100
|
||||
#define NTDDI_WIN6SP2 0x06000200
|
||||
#define NTDDI_WIN6SP3 0x06000300
|
||||
#define NTDDI_WIN6SP4 0x06000400
|
||||
|
||||
#define NTDDI_VISTA NTDDI_WIN6
|
||||
#define NTDDI_VISTASP1 NTDDI_WIN6SP1
|
||||
#define NTDDI_VISTASP2 NTDDI_WIN6SP2
|
||||
#define NTDDI_VISTASP3 NTDDI_WIN6SP3
|
||||
#define NTDDI_VISTASP4 NTDDI_WIN6SP4
|
||||
|
||||
#define NTDDI_LONGHORN NTDDI_VISTA
|
||||
|
||||
#define NTDDI_WS08 NTDDI_WIN6SP1
|
||||
#define NTDDI_WS08SP2 NTDDI_WIN6SP2
|
||||
#define NTDDI_WS08SP3 NTDDI_WIN6SP3
|
||||
#define NTDDI_WS08SP4 NTDDI_WIN6SP4
|
||||
|
||||
#define NTDDI_WIN7 0x06010000
|
||||
#define NTDDI_WIN8 0x06020000
|
||||
#define NTDDI_WINBLUE 0x06030000
|
||||
#define NTDDI_WINTHRESHOLD 0x0A000000 /* ABRACADABRA_THRESHOLD */
|
||||
#define NTDDI_WIN10 0x0A000000 /* ABRACADABRA_THRESHOLD */
|
||||
#define NTDDI_WIN10_TH2 0x0A000001 /* ABRACADABRA_WIN10_TH2 */
|
||||
#define NTDDI_WIN10_RS1 0x0A000002 /* ABRACADABRA_WIN10_RS1 */
|
||||
|
||||
//
|
||||
// masks for version macros
|
||||
//
|
||||
#define OSVERSION_MASK 0xFFFF0000
|
||||
#define SPVERSION_MASK 0x0000FF00
|
||||
#define SUBVERSION_MASK 0x000000FF
|
||||
|
||||
|
||||
//
|
||||
// macros to extract various version fields from the NTDDI version
|
||||
//
|
||||
#define OSVER(Version) ((Version) & OSVERSION_MASK)
|
||||
#define SPVER(Version) (((Version) & SPVERSION_MASK) >> 8)
|
||||
#define SUBVER(Version) (((Version) & SUBVERSION_MASK) )
|
||||
|
||||
|
||||
#if defined(DECLSPEC_DEPRECATED_DDK)
|
||||
|
||||
// deprecate in 2k or later
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN2K DECLSPEC_DEPRECATED_DDK
|
||||
#else
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN2K
|
||||
#endif
|
||||
|
||||
// deprecate in XP or later
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
#define DECLSPEC_DEPRECATED_DDK_WINXP DECLSPEC_DEPRECATED_DDK
|
||||
#else
|
||||
#define DECLSPEC_DEPRECATED_DDK_WINXP
|
||||
#endif
|
||||
|
||||
// deprecate in WS03 or later
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN2003 DECLSPEC_DEPRECATED_DDK
|
||||
#else
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN2003
|
||||
#endif
|
||||
|
||||
// deprecate in WIN6 or later
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN6)
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN6 DECLSPEC_DEPRECATED_DDK
|
||||
#else
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN6
|
||||
#endif
|
||||
|
||||
#define DECLSPEC_DEPRECATED_DDK_LONGHORN DECLSPEC_DEPRECATED_DDK_WIN6
|
||||
|
||||
#endif // defined(DECLSPEC_DEPRECATED_DDK)
|
||||
|
||||
|
||||
//
|
||||
// if versions aren't already defined, default to most current
|
||||
//
|
||||
|
||||
#define NTDDI_VERSION_FROM_WIN32_WINNT2(ver) ver##0000
|
||||
#define NTDDI_VERSION_FROM_WIN32_WINNT(ver) NTDDI_VERSION_FROM_WIN32_WINNT2(ver)
|
||||
|
||||
#if !defined(_WIN32_WINNT) && !defined(_CHICAGO_)
|
||||
#define _WIN32_WINNT 0x0A00
|
||||
#endif
|
||||
|
||||
#ifndef NTDDI_VERSION
|
||||
#ifdef _WIN32_WINNT
|
||||
// set NTDDI_VERSION based on _WIN32_WINNT
|
||||
#define NTDDI_VERSION NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT)
|
||||
#else
|
||||
#define NTDDI_VERSION 0x0A000002
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef WINVER
|
||||
#ifdef _WIN32_WINNT
|
||||
// set WINVER based on _WIN32_WINNT
|
||||
#define WINVER _WIN32_WINNT
|
||||
#else
|
||||
#define WINVER 0x0A00
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32_IE
|
||||
#ifdef _WIN32_WINNT
|
||||
// set _WIN32_IE based on _WIN32_WINNT
|
||||
#if (_WIN32_WINNT <= _WIN32_WINNT_NT4)
|
||||
#define _WIN32_IE _WIN32_IE_IE50
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WIN2K)
|
||||
#define _WIN32_IE _WIN32_IE_IE501
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WINXP)
|
||||
#define _WIN32_IE _WIN32_IE_IE60
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WS03)
|
||||
#define _WIN32_IE _WIN32_IE_WS03
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_VISTA)
|
||||
#define _WIN32_IE _WIN32_IE_LONGHORN
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WIN7)
|
||||
#define _WIN32_IE _WIN32_IE_WIN7
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WIN8)
|
||||
#define _WIN32_IE _WIN32_IE_WIN8
|
||||
#else
|
||||
#define _WIN32_IE 0x0A00
|
||||
#endif
|
||||
#else
|
||||
#define _WIN32_IE 0x0A00
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Sanity check for compatible versions
|
||||
//
|
||||
#if defined(_WIN32_WINNT) && !defined(MIDL_PASS) && !defined(RC_INVOKED)
|
||||
|
||||
#if (defined(WINVER) && (WINVER < 0x0400) && (_WIN32_WINNT > 0x0400))
|
||||
#error WINVER setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if (((OSVERSION_MASK & NTDDI_VERSION) == NTDDI_WIN2K) && (_WIN32_WINNT != _WIN32_WINNT_WIN2K))
|
||||
#error NTDDI_VERSION setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if (((OSVERSION_MASK & NTDDI_VERSION) == NTDDI_WINXP) && (_WIN32_WINNT != _WIN32_WINNT_WINXP))
|
||||
#error NTDDI_VERSION setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if (((OSVERSION_MASK & NTDDI_VERSION) == NTDDI_WS03) && (_WIN32_WINNT != _WIN32_WINNT_WS03))
|
||||
#error NTDDI_VERSION setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if (((OSVERSION_MASK & NTDDI_VERSION) == NTDDI_VISTA) && (_WIN32_WINNT != _WIN32_WINNT_VISTA))
|
||||
#error NTDDI_VERSION setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if ((_WIN32_WINNT < _WIN32_WINNT_WIN2K) && (_WIN32_IE > _WIN32_IE_IE60SP1))
|
||||
#error _WIN32_WINNT settings conflicts with _WIN32_IE setting
|
||||
#endif
|
||||
|
||||
#endif // defined(_WIN32_WINNT) && !defined(MIDL_PASS) && !defined(_WINRESRC_)
|
||||
|
||||
#if (_MSC_VER >= 800)
|
||||
#if (_MSC_VER >= 1200)
|
||||
#pragma warning(pop)
|
||||
#else
|
||||
#pragma warning(default:4001) /* nonstandard extension : single line comment */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* !_INC_SDKDDKVER */
|
||||
|
||||
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
@@ -21,8 +21,8 @@ If you want to contribute please take a look at the [Coding Style](https://githu
|
||||
### Dependencies
|
||||
|
||||
__Windows__
|
||||
* [Visual Studio 2015](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx)
|
||||
* [Visual C++ Redistributable Packages for Visual Studio 2015](http://www.microsoft.com/en-us/download/details.aspx?id=48145)
|
||||
* [Visual Studio 2017](https://www.visualstudio.com/downloads/)
|
||||
* [Visual C++ Redistributable Packages for Visual Studio 2017](https://go.microsoft.com/fwlink/?LinkId=746572)
|
||||
* [Cmake 3.1.0+](http://www.cmake.org/download/) (required; add to PATH)
|
||||
* [Python 3.3+](https://www.python.org/downloads/) (required; add to PATH)
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
#include "Emu/System.h"
|
||||
#include "AutoPause.h"
|
||||
|
||||
cfg::bool_entry g_cfg_debug_autopause_syscall(cfg::root.misc, "Auto Pause at System Call");
|
||||
cfg::bool_entry g_cfg_debug_autopause_func_call(cfg::root.misc, "Auto Pause at Function Call");
|
||||
cfg::bool_entry g_cfg_debug_autopause_syscall(cfg::root.misc, "Automatically pause at system call");
|
||||
cfg::bool_entry g_cfg_debug_autopause_func_call(cfg::root.misc, "Automatically pause at function call");
|
||||
|
||||
debug::autopause& debug::autopause::get_instance()
|
||||
{
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
|
||||
#define GSL_THROW_ON_CONTRACT_VIOLATION
|
||||
|
||||
#pragma push_macro("new")
|
||||
#undef new
|
||||
#include <gsl.h>
|
||||
#include <gsl>
|
||||
#pragma pop_macro("new")
|
||||
#undef Expects
|
||||
#undef Ensures
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Utilities/Log.h"
|
||||
#include "VirtualMemory.h"
|
||||
#ifdef _WIN32
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
||||
@@ -7,85 +7,85 @@
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\binary.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\binary.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\convert.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\convert.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\directives.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\directives.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\emit.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\emit.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\emitfromevents.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\emitfromevents.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\emitter.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\emitter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\emitterstate.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\emitterstate.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\emitterutils.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\emitterutils.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\exp.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\exp.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\memory.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\memory.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\node.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\node.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\node_data.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\nodebuilder.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\nodebuilder.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\nodeevents.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\nodeevents.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\node_data.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\null.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\null.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ostream_wrapper.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\ostream_wrapper.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\parse.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\parse.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\parser.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\parser.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\regex_yaml.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\regex_yaml.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\scanner.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\scanner.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\scanscalar.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\scanscalar.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\scantag.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\scantag.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\scantoken.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\scantoken.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\simplekey.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\simplekey.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\singledocparser.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\singledocparser.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\stream.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\stream.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\tag.cpp">
|
||||
<ClCompile Include="yaml-cpp\src\tag.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
|
||||
Submodule Vulkan/Vulkan-LoaderAndValidationLayers updated: 64d375f52e...c89bef400b
@@ -19,12 +19,12 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@@ -39,20 +39,20 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<NMakeBuildCommandLine>cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF -DBUILD_LAYERS=OFF -DBUILD_VKJSON=OFF ../Vulkan-LoaderAndValidationLayers
|
||||
<NMakeBuildCommandLine>cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF -DBUILD_LAYERS=OFF -DBUILD_VKJSON=OFF ../Vulkan-LoaderAndValidationLayers
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:build /p:Configuration=Release</NMakeBuildCommandLine>
|
||||
<NMakeCleanCommandLine>cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF -DBUILD_LAYERS=OFF -DBUILD_VKJSON=OFF ../Vulkan-LoaderAndValidationLayers
|
||||
<NMakeCleanCommandLine>cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF -DBUILD_LAYERS=OFF -DBUILD_VKJSON=OFF ../Vulkan-LoaderAndValidationLayers
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:clean /p:Configuration=Release</NMakeCleanCommandLine>
|
||||
<NMakeReBuildCommandLine>cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF -DBUILD_LAYERS=OFF -DBUILD_VKJSON=OFF ../Vulkan-LoaderAndValidationLayers
|
||||
<NMakeReBuildCommandLine>cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF -DBUILD_LAYERS=OFF -DBUILD_VKJSON=OFF ../Vulkan-LoaderAndValidationLayers
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Release
|
||||
</NMakeReBuildCommandLine>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<NMakeBuildCommandLine>cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF -DBUILD_LAYERS=OFF -DBUILD_VKJSON=OFF ../Vulkan-LoaderAndValidationLayers
|
||||
<NMakeBuildCommandLine>cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF -DBUILD_LAYERS=OFF -DBUILD_VKJSON=OFF ../Vulkan-LoaderAndValidationLayers
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:build /p:Configuration=Debug</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF -DBUILD_LAYERS=OFF -DBUILD_VKJSON=OFF ../Vulkan-LoaderAndValidationLayers
|
||||
<NMakeReBuildCommandLine>cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF -DBUILD_LAYERS=OFF -DBUILD_VKJSON=OFF ../Vulkan-LoaderAndValidationLayers
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Debug</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF -DBUILD_LAYERS=OFF -DBUILD_VKJSON=OFF ../Vulkan-LoaderAndValidationLayers
|
||||
<NMakeCleanCommandLine>cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF -DBUILD_LAYERS=OFF -DBUILD_VKJSON=OFF ../Vulkan-LoaderAndValidationLayers
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:clean /p:Configuration=Debug</NMakeCleanCommandLine>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
|
||||
+1
-1
Submodule Vulkan/glslang updated: 2921e0c54a...789086a820
@@ -19,12 +19,12 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<PlatformToolset>v147</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@@ -39,24 +39,24 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<NMakeBuildCommandLine>cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang
|
||||
<NMakeBuildCommandLine>cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:build /p:Configuration=Release</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang
|
||||
<NMakeReBuildCommandLine>cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Release</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang
|
||||
<NMakeCleanCommandLine>cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:clean /p:Configuration=Release</NMakeCleanCommandLine>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<NMakeBuildCommandLine>
|
||||
cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang
|
||||
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:build /p:Configuration=Debug
|
||||
</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>
|
||||
cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang
|
||||
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Debug
|
||||
</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>
|
||||
cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang
|
||||
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:clean /p:Configuration=Debug
|
||||
</NMakeCleanCommandLine>
|
||||
</PropertyGroup>
|
||||
|
||||
+1
-1
Submodule asmjit updated: b0dad1af25...6758955e8c
@@ -86,7 +86,7 @@
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
||||
@@ -18,12 +18,12 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@@ -39,30 +39,30 @@
|
||||
<NMakePreprocessorDefinitions>
|
||||
</NMakePreprocessorDefinitions>
|
||||
<NMakeBuildCommandLine>
|
||||
cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=8.1 ../llvm
|
||||
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=8.1 ../llvm
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:build /p:Configuration=Debug
|
||||
</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>
|
||||
cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=8.1 ../llvm
|
||||
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=8.1 ../llvm
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Debug
|
||||
</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>
|
||||
cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=8.1 ../llvm
|
||||
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=8.1 ../llvm
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:clean /p:Configuration=Debug
|
||||
</NMakeCleanCommandLine>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<NMakePreprocessorDefinitions />
|
||||
<NMakeBuildCommandLine>
|
||||
cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=8.1 ../llvm
|
||||
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=8.1 ../llvm
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:build /p:Configuration=Release
|
||||
</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>
|
||||
cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=8.1 ../llvm
|
||||
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=8.1 ../llvm
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Release
|
||||
</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>
|
||||
cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=8.1 ../llvm
|
||||
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=8.1 ../llvm
|
||||
msbuild.exe ALL_BUILD.vcxproj /t:clean /p:Configuration=Release
|
||||
</NMakeCleanCommandLine>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -10,6 +10,6 @@ TEST_CLASS(rsx_common)
|
||||
std::vector<gsl::byte> dest_buffer(2200);
|
||||
std::vector<gsl::byte> src_buffer(100000); // Big enough
|
||||
|
||||
write_vertex_array_data_to_buffer(gsl::span<gsl::byte>(dest_buffer), src_buffer.data(), 0, 550, rsx::vertex_base_type::ub256, 4, 20, 4);
|
||||
write_vertex_array_data_to_buffer(gsl::multi_span<gsl::byte>(dest_buffer), src_buffer.data(), 0, 550, rsx::vertex_base_type::ub256, 4, 20, 4);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -20,14 +20,14 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25123.0
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26206.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rpcs3", "rpcs3\rpcs3.vcxproj", "{70CD65B0-91D6-4FAE-9A7B-4AF55D0D1B12}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
|
||||
@@ -133,7 +133,7 @@ ${LLVM_INCLUDE_DIRS}
|
||||
"${RPCS3_SRC_DIR}/.."
|
||||
"${RPCS3_SRC_DIR}/../Utilities/yaml-cpp/include"
|
||||
"${RPCS3_SRC_DIR}/../asmjit/src/asmjit"
|
||||
"${RPCS3_SRC_DIR}/../3rdparty/GSL/include"
|
||||
"${RPCS3_SRC_DIR}/../3rdparty/GSL/gsl"
|
||||
"${RPCS3_SRC_DIR}/../rsx_program_decompiler/rsx_decompiler"
|
||||
"${RPCS3_SRC_DIR}/../rsx_program_decompiler/shader_code"
|
||||
"${RPCS3_SRC_DIR}/../Vulkan/Vulkan-LoaderAndValidationLayers/include"
|
||||
|
||||
@@ -159,7 +159,7 @@ class KeyVault
|
||||
std::vector<SELF_KEY> sk_LDR_arr;
|
||||
std::vector<SELF_KEY> sk_UNK7_arr;
|
||||
std::vector<SELF_KEY> sk_NPDRM_arr;
|
||||
u8 klicensee_key[0x10];
|
||||
u8 klicensee_key[0x10] = {};
|
||||
|
||||
public:
|
||||
KeyVault();
|
||||
|
||||
@@ -912,8 +912,7 @@ bool EDATADecrypter::ReadHeader()
|
||||
|
||||
if (dec_key == std::array<u8, 0x10>{0})
|
||||
{
|
||||
LOG_ERROR(LOADER, "EDAT: A valid RAP file is needed for this EDAT file!");
|
||||
return false;
|
||||
LOG_WARNING(LOADER, "EDAT: Empty Dec key!");
|
||||
}
|
||||
}
|
||||
else if ((npdHeader.license & 0x1) == 0x1) // Type 1: Use network activation.
|
||||
|
||||
@@ -14,7 +14,7 @@ constexpr u32 EDAT_FLAG_0x10 = 0x00000010;
|
||||
constexpr u32 EDAT_FLAG_0x20 = 0x00000020;
|
||||
constexpr u32 EDAT_DEBUG_DATA_FLAG = 0x80000000;
|
||||
|
||||
struct EdatKeys_t
|
||||
struct LoadedNpdrmKeys_t
|
||||
{
|
||||
std::array<u8, 0x10> devKlic{};
|
||||
std::array<u8, 0x10> rifKey{};
|
||||
|
||||
+44
-7
@@ -1089,10 +1089,11 @@ bool SELFDecrypter::DecryptNPDRM(u8 *metadata, u32 metadata_size)
|
||||
memcpy(klicensee_key, key_v.GetKlicenseeKey(), 0x10);
|
||||
|
||||
// Use klicensee if available.
|
||||
if (klicensee_key != NULL)
|
||||
memcpy(npdrm_key, klicensee_key, 0x10);
|
||||
|
||||
if (ctrl->npdrm.license == 1) // Network license.
|
||||
if (memcmp(klicensee_key, std::array<u8, 0x10>{0}.data(), 0x10))
|
||||
{
|
||||
memcpy(npdrm_key, klicensee_key, 0x10);
|
||||
}
|
||||
else if (ctrl->npdrm.license == 1) // Network license.
|
||||
{
|
||||
LOG_ERROR(LOADER, "SELF: Can't decrypt network NPDRM!");
|
||||
return false;
|
||||
@@ -1131,7 +1132,7 @@ bool SELFDecrypter::DecryptNPDRM(u8 *metadata, u32 metadata_size)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SELFDecrypter::LoadMetadata()
|
||||
bool SELFDecrypter::LoadMetadata(u8* klic_key)
|
||||
{
|
||||
aes_context aes;
|
||||
u32 metadata_info_size = SIZE_32(meta_info);
|
||||
@@ -1150,6 +1151,10 @@ bool SELFDecrypter::LoadMetadata()
|
||||
// Find the right keyset from the key vault.
|
||||
SELF_KEY keyset = key_v.FindSelfKey(app_info.self_type, sce_hdr.se_flags, app_info.version);
|
||||
|
||||
// Set klic if given
|
||||
if (klic_key)
|
||||
key_v.SetKlicenseeKey(klic_key);
|
||||
|
||||
// Copy the necessary parameters.
|
||||
u8 metadata_key[0x20];
|
||||
u8 metadata_iv[0x10];
|
||||
@@ -1480,7 +1485,7 @@ static bool CheckDebugSelf(fs::file& s)
|
||||
return false;
|
||||
}
|
||||
|
||||
extern fs::file decrypt_self(fs::file elf_or_self)
|
||||
extern fs::file decrypt_self(fs::file elf_or_self, u8* klic_key)
|
||||
{
|
||||
if (!elf_or_self)
|
||||
{
|
||||
@@ -1506,7 +1511,7 @@ extern fs::file decrypt_self(fs::file elf_or_self)
|
||||
}
|
||||
|
||||
// Load and decrypt the SELF file metadata.
|
||||
if (!self_dec.LoadMetadata())
|
||||
if (!self_dec.LoadMetadata(klic_key))
|
||||
{
|
||||
LOG_ERROR(LOADER, "SELF: Failed to load SELF file metadata!");
|
||||
return fs::file{};
|
||||
@@ -1525,3 +1530,35 @@ extern fs::file decrypt_self(fs::file elf_or_self)
|
||||
|
||||
return elf_or_self;
|
||||
}
|
||||
|
||||
extern bool verify_npdrm_self_headers(const fs::file& self, u8* klic_key)
|
||||
{
|
||||
if (!self)
|
||||
return false;
|
||||
|
||||
self.seek(0);
|
||||
|
||||
if (self.size() >= 4 && self.read<u32>() == "SCE\0"_u32)
|
||||
{
|
||||
// Check the ELF file class (32 or 64 bit).
|
||||
bool isElf32 = IsSelfElf32(self);
|
||||
|
||||
// Start the decrypter on this SELF file.
|
||||
SELFDecrypter self_dec(self);
|
||||
|
||||
// Load the SELF file headers.
|
||||
if (!self_dec.LoadHeaders(isElf32))
|
||||
{
|
||||
LOG_ERROR(LOADER, "SELF: Failed to load SELF file headers!");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Load and decrypt the SELF file metadata.
|
||||
if (!self_dec.LoadMetadata(klic_key))
|
||||
{
|
||||
LOG_ERROR(LOADER, "SELF: Failed to load SELF file metadata!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -410,10 +410,11 @@ public:
|
||||
fs::file MakeElf(bool isElf32);
|
||||
bool LoadHeaders(bool isElf32);
|
||||
void ShowHeaders(bool isElf32);
|
||||
bool LoadMetadata();
|
||||
bool LoadMetadata(u8* klic_key);
|
||||
bool DecryptData();
|
||||
bool DecryptNPDRM(u8 *metadata, u32 metadata_size);
|
||||
bool GetKeyFromRap(u8 *content_id, u8 *npdrm_key);
|
||||
};
|
||||
|
||||
extern fs::file decrypt_self(fs::file elf_or_self);
|
||||
extern fs::file decrypt_self(fs::file elf_or_self, u8* klic_key = nullptr);
|
||||
extern bool verify_npdrm_self_headers(const fs::file& self, u8* klic_key = nullptr);
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
//#include "cell0054.h"
|
||||
|
||||
logs::channel cell0054("cell0054", logs::level::notice);
|
||||
|
||||
DECLARE(ppu_module_manager::cell0054)("cell0054", []()
|
||||
{
|
||||
|
||||
});
|
||||
@@ -0,0 +1,12 @@
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
//#include "cell005C.h"
|
||||
|
||||
logs::channel cell005C("cell005C", logs::level::notice);
|
||||
|
||||
DECLARE(ppu_module_manager::cell005C)("cell005C", []()
|
||||
{
|
||||
|
||||
});
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/IdManager.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
@@ -90,6 +90,7 @@ public:
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case CELL_ADEC_TYPE_AC3:
|
||||
case CELL_ADEC_TYPE_ATRACX:
|
||||
case CELL_ADEC_TYPE_ATRACX_2CH:
|
||||
case CELL_ADEC_TYPE_ATRACX_6CH:
|
||||
@@ -512,6 +513,7 @@ bool adecCheckType(s32 type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case CELL_ADEC_TYPE_AC3: cellAdec.notice("adecCheckType(): AC3"); break;
|
||||
case CELL_ADEC_TYPE_ATRACX: cellAdec.notice("adecCheckType(): ATRAC3plus"); break;
|
||||
case CELL_ADEC_TYPE_ATRACX_2CH: cellAdec.notice("adecCheckType(): ATRAC3plus 2ch"); break;
|
||||
case CELL_ADEC_TYPE_ATRACX_6CH: cellAdec.notice("adecCheckType(): ATRAC3plus 6ch"); break;
|
||||
@@ -519,7 +521,6 @@ bool adecCheckType(s32 type)
|
||||
case CELL_ADEC_TYPE_MP3: cellAdec.notice("adecCheckType(): MP3"); break;
|
||||
|
||||
case CELL_ADEC_TYPE_LPCM_PAMF:
|
||||
case CELL_ADEC_TYPE_AC3:
|
||||
case CELL_ADEC_TYPE_ATRAC3:
|
||||
case CELL_ADEC_TYPE_MPEG_L2:
|
||||
case CELL_ADEC_TYPE_CELP:
|
||||
@@ -634,6 +635,7 @@ s32 cellAdecStartSeq(u32 handle, u32 param)
|
||||
|
||||
switch (adec->type)
|
||||
{
|
||||
case CELL_ADEC_TYPE_AC3:
|
||||
case CELL_ADEC_TYPE_ATRACX:
|
||||
case CELL_ADEC_TYPE_ATRACX_2CH:
|
||||
case CELL_ADEC_TYPE_ATRACX_6CH:
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
logs::channel cellAudio("cellAudio", logs::level::notice);
|
||||
|
||||
cfg::bool_entry g_cfg_audio_dump_to_file(cfg::root.audio, "Dump to file");
|
||||
cfg::bool_entry g_cfg_audio_convert_to_u16(cfg::root.audio, "Convert to 16 bit");
|
||||
cfg::bool_entry g_cfg_audio_convert_to_u16(cfg::root.audio, "Convert to 16-bit");
|
||||
|
||||
void audio_config::on_init(const std::shared_ptr<void>& _this)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
#include "cellAudioOut.h"
|
||||
@@ -128,16 +128,21 @@ s32 cellAudioOutConfigure(u32 audioOut, vm::ptr<CellAudioOutConfiguration> confi
|
||||
case CELL_AUDIO_OUT_PRIMARY:
|
||||
if (config->channel)
|
||||
{
|
||||
//Emu.GetAudioManager().GetInfo().mode.channel = config->channel;
|
||||
CELL_AUDIO_OUT_CHNUM_8;
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
//Emu.GetAudioManager().GetInfo().mode.encoder = config->encoder;
|
||||
|
||||
if (config->downMixer)
|
||||
{
|
||||
//Emu.GetAudioManager().GetInfo().mode.downMixer = config->downMixer;
|
||||
CELL_AUDIO_OUT_DOWNMIXER_NONE;
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
if (config->encoder)
|
||||
{
|
||||
CELL_AUDIO_OUT_CODING_TYPE_LPCM;
|
||||
return CELL_OK;
|
||||
}
|
||||
return CELL_OK;
|
||||
|
||||
case CELL_AUDIO_OUT_SECONDARY:
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
//#include "cellF044.h"
|
||||
|
||||
logs::channel cellF044("cellF044", logs::level::notice);
|
||||
|
||||
DECLARE(ppu_module_manager::cellF044)("cellF044", []()
|
||||
{
|
||||
|
||||
});
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
@@ -554,7 +554,7 @@ s32 cellFontExtend(u32 a1, u32 a2, u32 a3)
|
||||
//Something happens
|
||||
}
|
||||
//Something happens?
|
||||
return CELL_OK;
|
||||
return -1;
|
||||
}
|
||||
|
||||
s32 cellFontRenderCharGlyphImageVertical()
|
||||
@@ -587,7 +587,8 @@ s32 cellFontGraphicsGetDrawType()
|
||||
|
||||
s32 cellFontGetKerning()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellFont);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFontGetRenderScaledKerning()
|
||||
@@ -622,7 +623,8 @@ s32 cellFontGetEffectWeight()
|
||||
|
||||
s32 cellFontGetScalePixel()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellFont);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFontClearFileCache()
|
||||
@@ -637,7 +639,8 @@ s32 cellFontAdjustFontScaling()
|
||||
|
||||
s32 cellFontSetupRenderScalePoint()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellFont);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFontGlyphGetVerticalShift()
|
||||
@@ -740,6 +743,10 @@ s32 cellFontGraphicsGetLineRGBA()
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
}
|
||||
|
||||
s32 cellFontControl()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
}
|
||||
|
||||
DECLARE(ppu_module_manager::cellFont)("cellFont", []()
|
||||
{
|
||||
@@ -827,4 +834,5 @@ DECLARE(ppu_module_manager::cellFont)("cellFont", []()
|
||||
REG_FUNC(cellFont, cellFontGetRenderEffectSlant);
|
||||
REG_FUNC(cellFont, cellFontGetScalePoint);
|
||||
REG_FUNC(cellFont, cellFontGraphicsGetLineRGBA);
|
||||
REG_FUNC(cellFont, cellFontControl);
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
#include "cellFontFT.h"
|
||||
@@ -26,9 +26,208 @@ s32 cellFontFTGetInitializedRevisionFlags()
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTCacheStream_CacheEnd()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTCacheStream_CacheInit()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTCacheStream_CalcCacheIndexSize()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTCacheStream_Init()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_FontFamilyName()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_FontStyleName()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetAscender()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetBoundingBoxHeight()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetBoundingBoxMaxX()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetBoundingBoxMaxY()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetBoundingBoxMinX()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetBoundingBoxMinY()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetBoundingBoxWidth()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetGlyphImage()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetGlyphMetrics()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetMaxHorizontalAdvance()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetRenderBufferSize()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetRenderScale()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_GetRenderScalePoint()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_SetCompositeCodes()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_SetRenderScalePixel()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTFaceH_SetRenderScalePoint()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTManager_CloseFace()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTManager_Done_FreeType()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTManager_Init_FreeType()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTManager_OpenFileFace()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTManager_OpenMemFace()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FTManager_OpenStreamFace()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFontFT);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
DECLARE(ppu_module_manager::cellFontFT)("cellFontFT", []()
|
||||
{
|
||||
REG_FUNC(cellFontFT, cellFontInitLibraryFreeTypeWithRevision);
|
||||
REG_FUNC(cellFontFT, cellFontFTGetRevisionFlags);
|
||||
REG_FUNC(cellFontFT, cellFontFTGetInitializedRevisionFlags);
|
||||
|
||||
REG_FUNC(cellFontFT, FTCacheStream_CacheEnd);
|
||||
REG_FUNC(cellFontFT, FTCacheStream_CacheInit);
|
||||
REG_FUNC(cellFontFT, FTCacheStream_CalcCacheIndexSize);
|
||||
REG_FUNC(cellFontFT, FTCacheStream_Init);
|
||||
|
||||
REG_FUNC(cellFontFT, FTFaceH_FontFamilyName);
|
||||
REG_FUNC(cellFontFT, FTFaceH_FontStyleName);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetAscender);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetBoundingBoxHeight);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetBoundingBoxMaxX);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetBoundingBoxMaxY);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetBoundingBoxMinX);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetBoundingBoxMinY);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetBoundingBoxWidth);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetGlyphImage);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetGlyphMetrics);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetMaxHorizontalAdvance);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetRenderBufferSize);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetRenderScale);
|
||||
REG_FUNC(cellFontFT, FTFaceH_GetRenderScalePoint);
|
||||
REG_FUNC(cellFontFT, FTFaceH_SetCompositeCodes);
|
||||
REG_FUNC(cellFontFT, FTFaceH_SetRenderScalePixel);
|
||||
REG_FUNC(cellFontFT, FTFaceH_SetRenderScalePoint);
|
||||
|
||||
REG_FUNC(cellFontFT, FTManager_CloseFace);
|
||||
REG_FUNC(cellFontFT, FTManager_Done_FreeType);
|
||||
REG_FUNC(cellFontFT, FTManager_Init_FreeType);
|
||||
REG_FUNC(cellFontFT, FTManager_OpenFileFace);
|
||||
REG_FUNC(cellFontFT, FTManager_OpenMemFace);
|
||||
REG_FUNC(cellFontFT, FTManager_OpenStreamFace);
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/IdManager.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
@@ -25,6 +25,12 @@ s32 cellFsOpen(vm::cptr<char> path, s32 flags, vm::ptr<u32> fd, vm::cptr<void> a
|
||||
return sys_fs_open(path, flags, fd, flags & CELL_FS_O_CREAT ? CELL_FS_S_IRUSR | CELL_FS_S_IWUSR : 0, arg, size);
|
||||
}
|
||||
|
||||
s32 cellFsOpen2()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsRead(u32 fd, vm::ptr<void> buf, u64 nbytes, vm::ptr<u64> nread)
|
||||
{
|
||||
cellFs.trace("cellFsRead(fd=0x%x, buf=0x%x, nbytes=0x%llx, nread=0x%x)", fd, buf, nbytes, nread);
|
||||
@@ -171,6 +177,12 @@ s32 cellFsFGetBlockSize(u32 fd, vm::ptr<u64> sector_size, vm::ptr<u64> block_siz
|
||||
return sys_fs_fget_block_size(fd, sector_size, block_size, vm::var<u64>{}, vm::var<u64>{});
|
||||
}
|
||||
|
||||
s32 cellFsFGetBlockSize2()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsGetBlockSize(vm::cptr<char> path, vm::ptr<u64> sector_size, vm::ptr<u64> block_size)
|
||||
{
|
||||
cellFs.warning("cellFsGetBlockSize(path=%s, sector_size=*0x%x, block_size=*0x%x) -> sys_fs_get_block_size()", path, sector_size, block_size);
|
||||
@@ -181,6 +193,12 @@ s32 cellFsGetBlockSize(vm::cptr<char> path, vm::ptr<u64> sector_size, vm::ptr<u6
|
||||
return sys_fs_get_block_size(path, sector_size, block_size, vm::var<u64>{});
|
||||
}
|
||||
|
||||
s32 cellFsGetBlockSize2()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsTruncate(vm::cptr<char> path, u64 size)
|
||||
{
|
||||
cellFs.warning("cellFsTruncate(path=%s, size=0x%llx) -> sys_fs_truncate()", path, size);
|
||||
@@ -209,6 +227,12 @@ s32 cellFsChmod(vm::cptr<char> path, s32 mode)
|
||||
return sys_fs_chmod(path, mode);
|
||||
}
|
||||
|
||||
s32 cellFsChown()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsUtime(vm::cptr<char> path, vm::cptr<CellFsUtimbuf> timep)
|
||||
{
|
||||
cellFs.warning("cellFsUtime(path=%s, timep=*0x%x) -> sys_fs_utime()", path, timep);
|
||||
@@ -609,6 +633,12 @@ s32 cellFsSdataOpenByFd(u32 mself_fd, s32 flags, vm::ptr<u32> sdata_fd, u64 offs
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsSdataOpenWithVersion()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
using fs_aio_cb_t = vm::ptr<void(vm::ptr<CellFsAio> xaio, s32 error, s32 xid, u64 size)>;
|
||||
|
||||
// temporarily
|
||||
@@ -823,7 +853,8 @@ s32 cellFsChangeFileSizeByFdWithoutAllocation()
|
||||
|
||||
s32 cellFsSetDiscReadRetrySetting()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsRegisterConversionCallback()
|
||||
@@ -836,12 +867,97 @@ s32 cellFsUnregisterL10nCallbacks()
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
}
|
||||
|
||||
s32 cellFsAclRead()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsAclWrite()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsFcntl()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsFdatasync()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsLink()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsLsnGetCDA()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsLsnGetCDASize()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsLsnLock()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsLsnRead()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsLsnRead2()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsLsnUnlock()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsMappedAllocate()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsMappedFree()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsSymbolicLink()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
DECLARE(ppu_module_manager::cellFs)("sys_fs", []()
|
||||
{
|
||||
REG_FUNC(sys_fs, cellFsOpen);
|
||||
REG_FUNC(sys_fs, cellFsOpen2);
|
||||
REG_FUNC(sys_fs, cellFsSdataOpen);
|
||||
REG_FUNC(sys_fs, cellFsSdataOpenByFd);
|
||||
REG_FUNC(sys_fs, cellFsSdataOpenWithVersion);
|
||||
REG_FUNC(sys_fs, cellFsRead).flags = MFF_PERFECT;
|
||||
REG_FUNC(sys_fs, cellFsWrite).flags = MFF_PERFECT;
|
||||
REG_FUNC(sys_fs, cellFsClose).flags = MFF_PERFECT;
|
||||
@@ -853,6 +969,7 @@ DECLARE(ppu_module_manager::cellFs)("sys_fs", []()
|
||||
REG_FUNC(sys_fs, cellFsMkdir);
|
||||
REG_FUNC(sys_fs, cellFsRename);
|
||||
REG_FUNC(sys_fs, cellFsChmod);
|
||||
REG_FUNC(sys_fs, cellFsChown);
|
||||
REG_FUNC(sys_fs, cellFsFsync);
|
||||
REG_FUNC(sys_fs, cellFsRmdir);
|
||||
REG_FUNC(sys_fs, cellFsUnlink);
|
||||
@@ -860,12 +977,14 @@ DECLARE(ppu_module_manager::cellFs)("sys_fs", []()
|
||||
REG_FUNC(sys_fs, cellFsFtruncate).flags = MFF_PERFECT;
|
||||
REG_FUNC(sys_fs, cellFsTruncate);
|
||||
REG_FUNC(sys_fs, cellFsFGetBlockSize).flags = MFF_PERFECT;
|
||||
REG_FUNC(sys_fs, cellFsFGetBlockSize2);
|
||||
REG_FUNC(sys_fs, cellFsAioInit);
|
||||
REG_FUNC(sys_fs, cellFsAioFinish);
|
||||
REG_FUNC(sys_fs, cellFsAioRead);
|
||||
REG_FUNC(sys_fs, cellFsAioWrite);
|
||||
REG_FUNC(sys_fs, cellFsAioCancel);
|
||||
REG_FUNC(sys_fs, cellFsGetBlockSize);
|
||||
REG_FUNC(sys_fs, cellFsGetBlockSize2);
|
||||
REG_FUNC(sys_fs, cellFsGetFreeSize);
|
||||
REG_FUNC(sys_fs, cellFsReadWithOffset);
|
||||
REG_FUNC(sys_fs, cellFsWriteWithOffset);
|
||||
@@ -897,4 +1016,24 @@ DECLARE(ppu_module_manager::cellFs)("sys_fs", []()
|
||||
REG_FUNC(sys_fs, cellFsSetDiscReadRetrySetting);
|
||||
REG_FUNC(sys_fs, cellFsRegisterConversionCallback);
|
||||
REG_FUNC(sys_fs, cellFsUnregisterL10nCallbacks);
|
||||
|
||||
REG_FUNC(sys_fs, cellFsAclRead);
|
||||
REG_FUNC(sys_fs, cellFsAclWrite);
|
||||
|
||||
REG_FUNC(sys_fs, cellFsFcntl);
|
||||
REG_FUNC(sys_fs, cellFsFdatasync);
|
||||
|
||||
REG_FUNC(sys_fs, cellFsLink);
|
||||
|
||||
REG_FUNC(sys_fs, cellFsLsnGetCDA);
|
||||
REG_FUNC(sys_fs, cellFsLsnGetCDASize);
|
||||
REG_FUNC(sys_fs, cellFsLsnLock);
|
||||
REG_FUNC(sys_fs, cellFsLsnRead);
|
||||
REG_FUNC(sys_fs, cellFsLsnRead2);
|
||||
REG_FUNC(sys_fs, cellFsLsnUnlock);
|
||||
|
||||
REG_FUNC(sys_fs, cellFsMappedAllocate);
|
||||
REG_FUNC(sys_fs, cellFsMappedFree);
|
||||
|
||||
REG_FUNC(sys_fs, cellFsSymbolicLink);
|
||||
});
|
||||
|
||||
@@ -194,7 +194,8 @@ s32 cellHddGameSetSystemVer()
|
||||
|
||||
s32 cellHddGameExitBroken()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellGame);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1211,12 +1211,14 @@ s32 cellGcmSetTile(u8 index, u8 location, u32 offset, u32 size, u32 pitch, u8 co
|
||||
|
||||
s32 _cellGcmFunc2()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellGcmSys);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _cellGcmFunc3()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellGcmSys);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _cellGcmFunc4()
|
||||
@@ -1226,7 +1228,8 @@ s32 _cellGcmFunc4()
|
||||
|
||||
s32 _cellGcmFunc13()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellGcmSys);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _cellGcmFunc38()
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
#include "cellHttp.h"
|
||||
|
||||
logs::channel cellHttp("cellHttp", logs::level::notice);
|
||||
|
||||
|
||||
s32 cellHttpAuthCacheFlush()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellHttp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellHttpInit()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellHttp);
|
||||
@@ -65,12 +72,30 @@ s32 cellHttpSessionCookieFlush()
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellHttpCookieExport()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellHttp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellHttpCookieExportWithClientId()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellHttp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellHttpCookieFlush()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellHttp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellHttpCookieImport()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellHttp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellHttpCookieImportWithClientId()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellHttp);
|
||||
@@ -257,6 +282,18 @@ s32 cellHttpClientPollConnections()
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellHttpClientSetConnectionStateCallback()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellHttp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellHttpClientSetConnectionWaitStatus()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellHttp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellHttpClientSetRecvTimeout()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellHttp);
|
||||
@@ -601,6 +638,7 @@ s32 cellHttpClientSetSslIdDestroyCallback()
|
||||
|
||||
DECLARE(ppu_module_manager::cellHttp)("cellHttp", []()
|
||||
{
|
||||
REG_FUNC(cellHttp, cellHttpAuthCacheFlush);
|
||||
REG_FUNC(cellHttp, cellHttpInit);
|
||||
REG_FUNC(cellHttp, cellHttpEnd);
|
||||
REG_FUNC(cellHttp, cellHttpsInit);
|
||||
@@ -612,8 +650,13 @@ DECLARE(ppu_module_manager::cellHttp)("cellHttp", []()
|
||||
REG_FUNC(cellHttp, cellHttpEndCookie);
|
||||
REG_FUNC(cellHttp, cellHttpAddCookieWithClientId);
|
||||
REG_FUNC(cellHttp, cellHttpSessionCookieFlush);
|
||||
|
||||
REG_FUNC(cellHttp, cellHttpCookieExport);
|
||||
REG_FUNC(cellHttp, cellHttpCookieExportWithClientId);
|
||||
REG_FUNC(cellHttp, cellHttpCookieFlush);
|
||||
REG_FUNC(cellHttp, cellHttpCookieImport);
|
||||
REG_FUNC(cellHttp, cellHttpCookieImportWithClientId);
|
||||
|
||||
REG_FUNC(cellHttp, cellHttpClientSetCookieSendCallback);
|
||||
REG_FUNC(cellHttp, cellHttpClientSetCookieRecvCallback);
|
||||
|
||||
@@ -647,6 +690,9 @@ DECLARE(ppu_module_manager::cellHttp)("cellHttp", []()
|
||||
REG_FUNC(cellHttp, cellHttpClientCloseAllConnections);
|
||||
REG_FUNC(cellHttp, cellHttpClientCloseConnections);
|
||||
REG_FUNC(cellHttp, cellHttpClientPollConnections);
|
||||
|
||||
REG_FUNC(cellHttp, cellHttpClientSetConnectionStateCallback);
|
||||
REG_FUNC(cellHttp, cellHttpClientSetConnectionWaitStatus);
|
||||
REG_FUNC(cellHttp, cellHttpClientSetRecvTimeout);
|
||||
REG_FUNC(cellHttp, cellHttpClientGetRecvTimeout);
|
||||
REG_FUNC(cellHttp, cellHttpClientSetSendTimeout);
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
namespace vm { using namespace ps3; }
|
||||
|
||||
typedef vm::ptr<void> CellImeJpHandle;
|
||||
|
||||
enum {
|
||||
CELL_IMEJP_BEFORE_INPUT = 0,
|
||||
CELL_IMEJP_BEFORE_CONVERT = 1,
|
||||
CELL_IMEJP_CONVERTING = 2,
|
||||
CELL_IMEJP_CANDIDATE_EMPTY = 3,
|
||||
CELL_IMEJP_POSTCONVERT_KANA = 4,
|
||||
CELL_IMEJP_POSTCONVERT_HALF = 5,
|
||||
CELL_IMEJP_POSTCONVERT_RAW = 6,
|
||||
CELL_IMEJP_CANDIDATES = 7,
|
||||
CELL_IMEJP_MOVE_CLAUSE_GAP = 8,
|
||||
};
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
#include "cellImejp.h"
|
||||
|
||||
logs::channel cellImeJp("cellImeJp", logs::level::notice);
|
||||
|
||||
@@ -15,21 +16,26 @@ enum
|
||||
CELL_IMEJP_ERROR_OTHER = 0x8002bfff,
|
||||
};
|
||||
|
||||
static uint16_t s_ime_string[256];
|
||||
|
||||
s32 cellImeJpOpen()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellImeJp);
|
||||
std::memset(s_ime_string, 0, sizeof(s_ime_string));
|
||||
cellImeJp.error("cellImeJpOpen()");
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellImeJpOpen2()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellImeJp);
|
||||
std::memset(s_ime_string, 0, sizeof(s_ime_string));
|
||||
cellImeJp.error("cellImeJpOpen2()");
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellImeJpOpen3()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellImeJp);
|
||||
std::memset(s_ime_string, 0, sizeof(s_ime_string));
|
||||
cellImeJp.error("cellImeJpOpen3()");
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
@@ -69,9 +75,10 @@ s32 cellImeJpReset()
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellImeJpGetStatus()
|
||||
s32 cellImeJpGetStatus(CellImeJpHandle hImeJpHandle, vm::ptr<u16> pInputStatus)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellImeJp);
|
||||
cellImeJp.error("cellImeJpGetStatus()");
|
||||
*pInputStatus = CELL_IMEJP_CANDIDATE_EMPTY;
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
@@ -201,33 +208,42 @@ s32 cellImeJpGetFocusTop()
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellImeJpGetFocusLength()
|
||||
s32 cellImeJpGetFocusLength(CellImeJpHandle hImeJpHandle, vm::ptr<u16> pFocusLength)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellImeJp);
|
||||
cellImeJp.error("cellImeJpGetFocusLength()");
|
||||
*pFocusLength = 1;
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellImeJpGetConfirmYomiString()
|
||||
s32 cellImeJpGetConfirmYomiString(CellImeJpHandle hImeJpHandle, vm::ptr<u16> pYomiString)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellImeJp);
|
||||
cellImeJp.error("cellImeJpGetConfirmYomiString()");
|
||||
*s_ime_string = 'A';
|
||||
*pYomiString = *s_ime_string;
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellImeJpGetConfirmString()
|
||||
s32 cellImeJpGetConfirmString(CellImeJpHandle hImeJpHandle, vm::ptr<u16> pConfirmString)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellImeJp);
|
||||
cellImeJp.error("cellImeJpGetConfirmString()");
|
||||
*s_ime_string = 'A';
|
||||
*pConfirmString = *s_ime_string;
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellImeJpGetConvertYomiString()
|
||||
s32 cellImeJpGetConvertYomiString(CellImeJpHandle hImeJpHandle, vm::ptr<u16> pYomiString)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellImeJp);
|
||||
cellImeJp.error("cellImeJpGetConvertYomiString()");
|
||||
*s_ime_string = 'A';
|
||||
*pYomiString = *s_ime_string;
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellImeJpGetConvertString()
|
||||
s32 cellImeJpGetConvertString(CellImeJpHandle hImeJpHandle, vm::ptr<u16> pConvertString)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellImeJp);
|
||||
cellImeJp.error("cellImeJpGetConvertString()");
|
||||
*s_ime_string = 'A';
|
||||
*pConvertString = *s_ime_string;
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/IdManager.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
@@ -122,8 +122,8 @@ s32 cellMsgDialogOpen2(u32 type, vm::cptr<char> msgString, vm::ptr<CellMsgDialog
|
||||
s32 cellMsgDialogOpen(u32 type, vm::cptr<char> msgString, vm::ptr<CellMsgDialogCallback> callback, vm::ptr<void> userData, vm::ptr<void> extParam)
|
||||
{
|
||||
//Note: This function needs proper implementation, solve first argument "type" conflict with MsgDialogOpen2 in cellMsgDialog.h.
|
||||
cellSysutil.todo("cellMsgDialogOpen(type=0x%x, msgString=%s, callback=*0x%x, userData=*0x%x, extParam=*0x%x)", type, msgString, callback, userData, extParam);
|
||||
return cellMsgDialogOpen2(type, msgString, callback, userData, extParam);
|
||||
cellSysutil.todo("cellMsgDialogOpen Unimplemented using cellMsgDialogOpen2 instead");
|
||||
return cellMsgDialogOpen2(type, msgString, callback, userData, extParam);
|
||||
}
|
||||
|
||||
s32 cellMsgDialogOpenErrorCode(ppu_thread& ppu, u32 errorCode, vm::ptr<CellMsgDialogCallback> callback, vm::ptr<void> userData, vm::ptr<void> extParam)
|
||||
|
||||
@@ -139,7 +139,8 @@ s32 cellNetCtlGetNatInfo(vm::ptr<CellNetCtlNatInfo> natInfo)
|
||||
|
||||
s32 cellGameUpdateInit()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellNetCtl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellGameUpdateTerm()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
#include "cellRtc.h"
|
||||
@@ -175,6 +175,12 @@ s32 cellRtcConvertLocalTimeToUtc(vm::ptr<CellRtcTick> pLocalTime, vm::ptr<CellRt
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellRtcGetCurrentSecureTick()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellRtc);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellRtcGetDosTime(vm::ptr<CellRtcDateTime> pDateTime, vm::ptr<u32> puiDosTime)
|
||||
{
|
||||
cellRtc.todo("cellRtcGetDosTime(pDateTime=*0x%x, puiDosTime=*0x%x)", pDateTime, puiDosTime);
|
||||
@@ -182,6 +188,12 @@ s32 cellRtcGetDosTime(vm::ptr<CellRtcDateTime> pDateTime, vm::ptr<u32> puiDosTim
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellRtcGetSystemTime()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellRtc);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellRtcGetTime_t(vm::ptr<CellRtcDateTime> pDateTime, vm::ptr<s64> piTime)
|
||||
{
|
||||
cellRtc.todo("cellRtcGetTime_t(pDateTime=*0x%x, piTime=*0x%x)", pDateTime, piTime);
|
||||
@@ -196,6 +208,24 @@ s32 cellRtcGetWin32FileTime(vm::ptr<CellRtcDateTime> pDateTime, vm::ptr<u64> pul
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellRtcSetCurrentSecureTick()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellRtc);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellRtcSetCurrentTick()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellRtc);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellRtcSetConf()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellRtc);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellRtcSetDosTime(vm::ptr<CellRtcDateTime> pDateTime, u32 uiDosTime)
|
||||
{
|
||||
cellRtc.todo("cellRtcSetDosTime(pDateTime=*0x%x, uiDosTime=0x%x)", pDateTime, uiDosTime);
|
||||
@@ -203,6 +233,12 @@ s32 cellRtcSetDosTime(vm::ptr<CellRtcDateTime> pDateTime, u32 uiDosTime)
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellRtcGetTickResolution()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellRtc);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellRtcSetTime_t(vm::ptr<CellRtcDateTime> pDateTime, u64 iTime)
|
||||
{
|
||||
cellRtc.todo("cellRtcSetTime_t(pDateTime=*0x%x, iTime=0x%llx)", pDateTime, iTime);
|
||||
@@ -210,6 +246,12 @@ s32 cellRtcSetTime_t(vm::ptr<CellRtcDateTime> pDateTime, u64 iTime)
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellRtcSetSystemTime()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellRtc);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellRtcSetWin32FileTime(vm::ptr<CellRtcDateTime> pDateTime, u64 ulWin32FileTime)
|
||||
{
|
||||
cellRtc.todo("cellRtcSetWin32FileTime(pDateTime=*0x%x, ulWin32FileTime=0x%llx)", pDateTime, ulWin32FileTime);
|
||||
@@ -267,6 +309,7 @@ DECLARE(ppu_module_manager::cellRtc)("cellRtc", []()
|
||||
|
||||
REG_FUNC(cellRtc, cellRtcGetTick);
|
||||
REG_FUNC(cellRtc, cellRtcSetTick);
|
||||
|
||||
REG_FUNC(cellRtc, cellRtcTickAddTicks);
|
||||
REG_FUNC(cellRtc, cellRtcTickAddMicroseconds);
|
||||
REG_FUNC(cellRtc, cellRtcTickAddSeconds);
|
||||
@@ -276,14 +319,23 @@ DECLARE(ppu_module_manager::cellRtc)("cellRtc", []()
|
||||
REG_FUNC(cellRtc, cellRtcTickAddWeeks);
|
||||
REG_FUNC(cellRtc, cellRtcTickAddMonths);
|
||||
REG_FUNC(cellRtc, cellRtcTickAddYears);
|
||||
|
||||
REG_FUNC(cellRtc, cellRtcConvertUtcToLocalTime);
|
||||
REG_FUNC(cellRtc, cellRtcConvertLocalTimeToUtc);
|
||||
|
||||
REG_FUNC(cellRtc, cellRtcGetCurrentSecureTick);
|
||||
REG_FUNC(cellRtc, cellRtcGetDosTime);
|
||||
REG_FUNC(cellRtc, cellRtcGetTickResolution);
|
||||
REG_FUNC(cellRtc, cellRtcGetSystemTime);
|
||||
REG_FUNC(cellRtc, cellRtcGetTime_t);
|
||||
REG_FUNC(cellRtc, cellRtcGetWin32FileTime);
|
||||
|
||||
REG_FUNC(cellRtc, cellRtcSetConf);
|
||||
REG_FUNC(cellRtc, cellRtcSetCurrentSecureTick);
|
||||
REG_FUNC(cellRtc, cellRtcSetCurrentTick);
|
||||
REG_FUNC(cellRtc, cellRtcSetDosTime);
|
||||
REG_FUNC(cellRtc, cellRtcSetTime_t);
|
||||
REG_FUNC(cellRtc, cellRtcSetSystemTime);
|
||||
REG_FUNC(cellRtc, cellRtcSetWin32FileTime);
|
||||
|
||||
REG_FUNC(cellRtc, cellRtcIsLeapYear);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
logs::channel cellSsl("cellSsl", logs::level::notice);
|
||||
@@ -87,6 +87,444 @@ s32 cellSslCertGetMd5Fingerprint()
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _cellSslConvertCipherId()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _cellSslConvertSslVersion()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _cellSslIsInitd()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _cellSslPemReadPrivateKey()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _cellSslPemReadX509()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 BER_read_item()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 BIO_ctrl()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 BIO_dump()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 BIO_get_cb_arg()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 BIO_get_retry_reason()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 BIO_new_mem()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 BIO_new_socket()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 BIO_printf()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 BIO_ptr_ctrl()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 BIO_set_cb_arg()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 ERR_clear_error()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 ERR_get_error()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 ERR_error_string()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 ERR_func_error_string()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 ERR_peek_error()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 EVP_PKEY_free()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 R_time_cmp()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 R_time_export()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 R_time_free()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 R_time_import()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 R_time_new()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_CIPHER_description()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_CIPHER_get_bits()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_CIPHER_get_name()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_CIPHER_get_version()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_CTX_ctrl()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_CTX_free()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_CTX_new()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_CTX_set_app_verify_cb()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_CTX_set_info_cb()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_CTX_set_options()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_CTX_set_verify_mode()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_CTX_use_certificate()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_SESSION_free()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_alert_type_string_long()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_do_handshake()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_free()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_get_current_cipher()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_get_error()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_get_version()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_new()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_peek()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_read()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_set_bio()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_set_ssl_method()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_shutdown()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_state()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_state_string_long()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_version()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_want()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSL_write()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_free()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_from_binary()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_get_basic_constraints_int()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_get_extension()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_get_issuer_name()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_get_notAfter()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_get_notBefore()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_get_pubkey()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_NAME_cmp()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_NAME_ENTRY_get_info()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_NAME_get_entry()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_NAME_get_entry_count()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_NAME_oneline()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_OID_to_string()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLCERT_verify()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 SSLv3_client_method()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 TLSv1_client_method()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSsl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
DECLARE(ppu_module_manager::cellSsl)("cellSsl", []()
|
||||
{
|
||||
REG_FUNC(cellSsl, cellSslInit);
|
||||
@@ -105,4 +543,94 @@ DECLARE(ppu_module_manager::cellSsl)("cellSsl", []()
|
||||
REG_FUNC(cellSsl, cellSslCertGetNameEntryCount);
|
||||
REG_FUNC(cellSsl, cellSslCertGetNameEntryInfo);
|
||||
REG_FUNC(cellSsl, cellSslCertGetMd5Fingerprint);
|
||||
|
||||
REG_FUNC(cellSsl, _cellSslConvertCipherId);
|
||||
REG_FUNC(cellSsl, _cellSslConvertSslVersion);
|
||||
REG_FUNC(cellSsl, _cellSslIsInitd);
|
||||
REG_FUNC(cellSsl, _cellSslPemReadPrivateKey);
|
||||
REG_FUNC(cellSsl, _cellSslPemReadX509);
|
||||
|
||||
REG_FUNC(cellSsl, BER_read_item);
|
||||
|
||||
REG_FUNC(cellSsl, BIO_ctrl);
|
||||
REG_FUNC(cellSsl, BIO_dump);
|
||||
REG_FUNC(cellSsl, BIO_get_cb_arg);
|
||||
REG_FUNC(cellSsl, BIO_get_retry_reason);
|
||||
REG_FUNC(cellSsl, BIO_new_mem);
|
||||
REG_FUNC(cellSsl, BIO_new_socket);
|
||||
REG_FUNC(cellSsl, BIO_printf);
|
||||
REG_FUNC(cellSsl, BIO_ptr_ctrl);
|
||||
REG_FUNC(cellSsl, BIO_set_cb_arg);
|
||||
|
||||
REG_FUNC(cellSsl, ERR_clear_error);
|
||||
REG_FUNC(cellSsl, ERR_get_error);
|
||||
REG_FUNC(cellSsl, ERR_error_string);
|
||||
REG_FUNC(cellSsl, ERR_func_error_string);
|
||||
REG_FUNC(cellSsl, ERR_peek_error);
|
||||
|
||||
REG_FUNC(cellSsl, EVP_PKEY_free);
|
||||
|
||||
REG_FUNC(cellSsl, R_time_cmp);
|
||||
REG_FUNC(cellSsl, R_time_export);
|
||||
REG_FUNC(cellSsl, R_time_free);
|
||||
REG_FUNC(cellSsl, R_time_import);
|
||||
REG_FUNC(cellSsl, R_time_new);
|
||||
|
||||
REG_FUNC(cellSsl, SSL_CIPHER_description);
|
||||
REG_FUNC(cellSsl, SSL_CIPHER_get_bits);
|
||||
REG_FUNC(cellSsl, SSL_CIPHER_get_name);
|
||||
REG_FUNC(cellSsl, SSL_CIPHER_get_version);
|
||||
|
||||
REG_FUNC(cellSsl, SSL_CTX_ctrl);
|
||||
REG_FUNC(cellSsl, SSL_CTX_free);
|
||||
REG_FUNC(cellSsl, SSL_CTX_new);
|
||||
REG_FUNC(cellSsl, SSL_CTX_set_app_verify_cb);
|
||||
REG_FUNC(cellSsl, SSL_CTX_set_info_cb);
|
||||
REG_FUNC(cellSsl, SSL_CTX_set_options);
|
||||
REG_FUNC(cellSsl, SSL_CTX_set_verify_mode);
|
||||
REG_FUNC(cellSsl, SSL_CTX_use_certificate);
|
||||
|
||||
REG_FUNC(cellSsl, SSL_SESSION_free);
|
||||
|
||||
REG_FUNC(cellSsl, SSL_alert_type_string_long);
|
||||
REG_FUNC(cellSsl, SSL_do_handshake);
|
||||
REG_FUNC(cellSsl, SSL_free);
|
||||
REG_FUNC(cellSsl, SSL_get_current_cipher);
|
||||
REG_FUNC(cellSsl, SSL_get_error);
|
||||
REG_FUNC(cellSsl, SSL_get_version);
|
||||
REG_FUNC(cellSsl, SSL_new);
|
||||
REG_FUNC(cellSsl, SSL_peek);
|
||||
REG_FUNC(cellSsl, SSL_read);
|
||||
REG_FUNC(cellSsl, SSL_set_bio);
|
||||
REG_FUNC(cellSsl, SSL_set_ssl_method);
|
||||
REG_FUNC(cellSsl, SSL_shutdown);
|
||||
REG_FUNC(cellSsl, SSL_state);
|
||||
REG_FUNC(cellSsl, SSL_state_string_long);
|
||||
REG_FUNC(cellSsl, SSL_version);
|
||||
REG_FUNC(cellSsl, SSL_want);
|
||||
REG_FUNC(cellSsl, SSL_write);
|
||||
|
||||
REG_FUNC(cellSsl, SSLCERT_free);
|
||||
REG_FUNC(cellSsl, SSLCERT_from_binary);
|
||||
|
||||
REG_FUNC(cellSsl, SSLCERT_get_basic_constraints_int);
|
||||
REG_FUNC(cellSsl, SSLCERT_get_extension);
|
||||
REG_FUNC(cellSsl, SSLCERT_get_issuer_name);
|
||||
REG_FUNC(cellSsl, SSLCERT_get_notAfter);
|
||||
REG_FUNC(cellSsl, SSLCERT_get_notBefore);
|
||||
REG_FUNC(cellSsl, SSLCERT_get_pubkey);
|
||||
|
||||
REG_FUNC(cellSsl, SSLCERT_NAME_cmp);
|
||||
REG_FUNC(cellSsl, SSLCERT_NAME_ENTRY_get_info);
|
||||
REG_FUNC(cellSsl, SSLCERT_NAME_get_entry);
|
||||
REG_FUNC(cellSsl, SSLCERT_NAME_get_entry_count);
|
||||
REG_FUNC(cellSsl, SSLCERT_NAME_oneline);
|
||||
|
||||
REG_FUNC(cellSsl, SSLCERT_OID_to_string);
|
||||
|
||||
REG_FUNC(cellSsl, SSLCERT_verify);
|
||||
|
||||
REG_FUNC(cellSsl, SSLv3_client_method);
|
||||
|
||||
REG_FUNC(cellSsl, TLSv1_client_method);
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
@@ -98,11 +98,13 @@ static const char* get_module_name(u16 id)
|
||||
case 0x0050: return "cellSpursJq";
|
||||
case 0x0052: return "cellPngEnc";
|
||||
case 0x0053: return "cellMusicDecodeUtility";
|
||||
case 0x0054: return "cell0054";
|
||||
case 0x0055: return "cellSync2";
|
||||
case 0x0056: return "sceNpUtil";
|
||||
case 0x0057: return "cellRudp";
|
||||
case 0x0059: return "sceNpSns";
|
||||
case 0x005a: return "libgem";
|
||||
case 0x005c: return "cell005C";
|
||||
case 0xf00a: return "cellCelpEnc";
|
||||
case 0xf010: return "cellGifDec";
|
||||
case 0xf019: return "cellAdecCelp";
|
||||
@@ -120,10 +122,11 @@ static const char* get_module_name(u16 id)
|
||||
case 0xf030: return "cellSysutilAvc2";
|
||||
case 0xf034: return "cellSailRec";
|
||||
case 0xf035: return "sceNpTrophy";
|
||||
case 0xf044: return "cellF044";
|
||||
case 0xf053: return "cellAdecAt3multi";
|
||||
case 0xf054: return "cellAtracMulti";
|
||||
}
|
||||
|
||||
LOG_TODO(SPU, "Unknown module (0x%04X)", id);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -213,11 +216,13 @@ static const char* get_module_id(u16 id)
|
||||
case 0x0050: return "CELL_SYSMODULE_SPURS_JQ";
|
||||
case 0x0052: return "CELL_SYSMODULE_PNGENC";
|
||||
case 0x0053: return "CELL_SYSMODULE_SYSUTIL_MUSIC_DECODE2";
|
||||
case 0x0054: return "CELL_SYSMODULE_0054";
|
||||
case 0x0055: return "CELL_SYSMODULE_SYNC2";
|
||||
case 0x0056: return "CELL_SYSMODULE_SYSUTIL_NP_UTIL";
|
||||
case 0x0057: return "CELL_SYSMODULE_RUDP";
|
||||
case 0x0059: return "CELL_SYSMODULE_SYSUTIL_NP_SNS";
|
||||
case 0x005a: return "CELL_SYSMODULE_GEM";
|
||||
case 0x005c: return "CELL_SYSMODULE_005C";
|
||||
case 0xf00a: return "CELL_SYSMODULE_CELPENC";
|
||||
case 0xf010: return "CELL_SYSMODULE_GIFDEC";
|
||||
case 0xf019: return "CELL_SYSMODULE_ADEC_CELP";
|
||||
@@ -235,6 +240,7 @@ static const char* get_module_id(u16 id)
|
||||
case 0xf030: return "CELL_SYSMODULE_SYSUTIL_AVCHAT2";
|
||||
case 0xf034: return "CELL_SYSMODULE_SAIL_REC";
|
||||
case 0xf035: return "CELL_SYSMODULE_SYSUTIL_NP_TROPHY";
|
||||
case 0xf044: return "CELL_SYSMODULE_F044";
|
||||
case 0xf054: return "CELL_SYSMODULE_LIBATRAC3MULTI";
|
||||
case 0xffff: return "CELL_SYSMODULE_INVALID";
|
||||
}
|
||||
|
||||
@@ -382,7 +382,8 @@ s32 cellSysutilSetBgmPlaybackExtraParam()
|
||||
|
||||
s32 cellSysutilRegisterCallbackDispatcher()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
cellSysutil.todo("cellSysutilRegisterCallbackDispatcher()");
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutilUnregisterCallbackDispatcher()
|
||||
@@ -483,6 +484,12 @@ s32 _ZNK4cxml4File7GetAddrEv()
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _ZNK4cxml7Element14GetNextSiblingEv()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _ZN8cxmlutil6SetIntERKN4cxml7ElementEPKci()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
@@ -526,6 +533,90 @@ s32 cellSysutil_E1EC7B6A(vm::ptr<u32> unk)
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_E186F9AC()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_B47470E1()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_20957CD4()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_75AA7373()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_2D96313F()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_40719C8C()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_0B8D63AE()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_35F7ED00()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_40C7538E0()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_D3CDD694()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_0633EDC2()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_933B103D()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_44F288A7()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysutil_A297525E()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
extern void cellSysutil_SaveData_init();
|
||||
extern void cellSysutil_GameData_init();
|
||||
extern void cellSysutil_MsgDialog_init();
|
||||
@@ -591,6 +682,7 @@ DECLARE(ppu_module_manager::cellSysutil)("cellSysutil", []()
|
||||
REG_FUNC(cellSysutil, _ZN4cxml8Document18GetDocumentElementEv);
|
||||
|
||||
REG_FUNC(cellSysutil, _ZNK4cxml4File7GetAddrEv);
|
||||
REG_FUNC(cellSysutil, _ZNK4cxml7Element14GetNextSiblingEv);
|
||||
|
||||
REG_FUNC(cellSysutil, _ZN8cxmlutil6SetIntERKN4cxml7ElementEPKci);
|
||||
REG_FUNC(cellSysutil, _ZN8cxmlutil6GetIntERKN4cxml7ElementEPKcPi);
|
||||
@@ -600,4 +692,23 @@ DECLARE(ppu_module_manager::cellSysutil)("cellSysutil", []()
|
||||
REG_FUNC(cellSysutil, _ZN8cxmlutil7GetFileERKN4cxml7ElementEPKcPNS0_4FileE);
|
||||
|
||||
REG_FNID(cellSysutil, 0xE1EC7B6A, cellSysutil_E1EC7B6A);
|
||||
REG_FNID(cellSysutil, 0xE186F9AC, cellSysutil_E186F9AC);
|
||||
REG_FNID(cellSysutil, 0xB47470E1, cellSysutil_B47470E1);
|
||||
REG_FNID(cellSysutil, 0x20957CD4, cellSysutil_20957CD4);
|
||||
REG_FNID(cellSysutil, 0x75AA7373, cellSysutil_75AA7373);
|
||||
REG_FNID(cellSysutil, 0x2D96313F, cellSysutil_2D96313F);
|
||||
REG_FNID(cellSysutil, 0x40719C8C, cellSysutil_40719C8C);
|
||||
REG_FNID(cellSysutil, 0x0B8D63AE, cellSysutil_0B8D63AE);
|
||||
|
||||
REG_FNID(cellSysutil, 0x35F7ED00, cellSysutil_35F7ED00); //The Fight
|
||||
REG_FNID(cellSysutil, 0x40C7538E, cellSysutil_40C7538E0); //The Fight
|
||||
REG_FNID(cellSysutil, 0xD3CDD694, cellSysutil_D3CDD694); //The Fight
|
||||
|
||||
REG_FNID(cellSysutil, 0x0633EDC2, cellSysutil_0633EDC2); //Killzone 3
|
||||
|
||||
REG_FNID(cellSysutil, 0x933B103D, cellSysutil_933B103D); //Kung fuu rider
|
||||
|
||||
REG_FNID(cellSysutil, 0x44F288A7, cellSysutil_44F288A7); //Big Sky Infinity
|
||||
|
||||
REG_FNID(cellSysutil, 0xA297525E, cellSysutil_A297525E); //THE KING OF FIGHTERS XII
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/IdManager.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
@@ -329,7 +329,8 @@ struct vdec_thread : ppu_thread
|
||||
else if (std::abs(freq - 60.000) < 0.001)
|
||||
frame.frc = CELL_VDEC_FRC_60;
|
||||
else
|
||||
fmt::throw_exception("Unsupported time_base.num (%d/%d, tpf=%d)" HERE, ctx->time_base.den, ctx->time_base.num, ctx->ticks_per_frame);
|
||||
frame.frc = CELL_VDEC_FRC_60;
|
||||
//LOG_TODO(HLE, "Unsupported time_base.num (%d/%d, tpf=%d)" HERE, ctx->time_base.den, ctx->time_base.num, ctx->ticks_per_frame);
|
||||
}
|
||||
|
||||
cellVdec.trace("Got picture (pts=0x%llx[0x%llx], dts=0x%llx[0x%llx])", frame.pts, frame->pkt_pts, frame.dts, frame->pkt_dts);
|
||||
@@ -585,7 +586,7 @@ s32 cellVdecGetPicture(u32 handle, vm::cptr<CellVdecPicFormat> format, vm::ptr<u
|
||||
// TODO: color matrix
|
||||
if (format->colorMatrixType & ~1)
|
||||
{
|
||||
fmt::throw_exception("Unknown colorMatrixType (%d)" HERE, format->colorMatrixType);
|
||||
LOG_ERROR(HLE, "Unknown colorMatrixType (%d)" HERE, format->colorMatrixType);
|
||||
}
|
||||
|
||||
if (alpha_plane)
|
||||
|
||||
@@ -0,0 +1,219 @@
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
#include "cell_FreeType2.h"
|
||||
|
||||
logs::channel cell_FreeType2("cell_FreeType2", logs::level::notice);
|
||||
|
||||
// Functions
|
||||
s32 cellFreeType2Ex()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Add_Default_Modules()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Bitmap_Copy()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Bitmap_Embolden()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Bitmap_New()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Done_Face()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Done_Glyph()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Get_Char_Index()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Get_Glyph()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Get_Sfnt_Table()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Glyph_Copy()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Glyph_Get_CBox()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Glyph_To_Bitmap()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Glyph_Transform()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Init_FreeType()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Load_Glyph()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_MulFix()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_New_Face()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_New_Library()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_New_Memory_Face()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Open_Face()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Outline_Embolden()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Render_Glyph()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
|
||||
s32 FT_RoundFix()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Select_Charmap()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Set_Char_Size()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Set_Transform()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 FT_Vector_Transform()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cell_FreeType2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
DECLARE(ppu_module_manager::cell_FreeType2)("cell_FreeType2", []()
|
||||
{
|
||||
REG_FUNC(cell_FreeType2, cellFreeType2Ex);
|
||||
|
||||
REG_FUNC(cell_FreeType2, FT_Add_Default_Modules);
|
||||
|
||||
REG_FUNC(cell_FreeType2, FT_Bitmap_Copy);
|
||||
REG_FUNC(cell_FreeType2, FT_Bitmap_Embolden);
|
||||
REG_FUNC(cell_FreeType2, FT_Bitmap_New);
|
||||
|
||||
REG_FUNC(cell_FreeType2, FT_Done_Face);
|
||||
REG_FUNC(cell_FreeType2, FT_Done_Glyph);
|
||||
|
||||
REG_FUNC(cell_FreeType2, FT_Get_Char_Index);
|
||||
REG_FUNC(cell_FreeType2, FT_Get_Glyph);
|
||||
REG_FUNC(cell_FreeType2, FT_Get_Sfnt_Table);
|
||||
|
||||
REG_FUNC(cell_FreeType2, FT_Glyph_Copy);
|
||||
REG_FUNC(cell_FreeType2, FT_Glyph_Get_CBox);
|
||||
REG_FUNC(cell_FreeType2, FT_Glyph_To_Bitmap);
|
||||
REG_FUNC(cell_FreeType2, FT_Glyph_Transform);
|
||||
|
||||
REG_FUNC(cell_FreeType2, FT_Init_FreeType);
|
||||
REG_FUNC(cell_FreeType2, FT_Load_Glyph);
|
||||
REG_FUNC(cell_FreeType2, FT_MulFix);
|
||||
|
||||
REG_FUNC(cell_FreeType2, FT_New_Face);
|
||||
REG_FUNC(cell_FreeType2, FT_New_Library);
|
||||
REG_FUNC(cell_FreeType2, FT_New_Memory_Face);
|
||||
|
||||
REG_FUNC(cell_FreeType2, FT_Open_Face);
|
||||
REG_FUNC(cell_FreeType2, FT_Outline_Embolden);
|
||||
REG_FUNC(cell_FreeType2, FT_Render_Glyph);
|
||||
REG_FUNC(cell_FreeType2, FT_RoundFix);
|
||||
REG_FUNC(cell_FreeType2, FT_Select_Charmap);
|
||||
|
||||
REG_FUNC(cell_FreeType2, FT_Set_Char_Size);
|
||||
REG_FUNC(cell_FreeType2, FT_Set_Transform);
|
||||
|
||||
REG_FUNC(cell_FreeType2, FT_Vector_Transform);
|
||||
});
|
||||
@@ -0,0 +1,3 @@
|
||||
#pragma once
|
||||
|
||||
namespace vm { using namespace ps3; }
|
||||
@@ -1,10 +1,11 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
#include "Emu/Cell/lv2/sys_process.h"
|
||||
#include "Emu/IdManager.h"
|
||||
#include "Crypto/unedat.h"
|
||||
#include "Crypto/unself.h"
|
||||
#include "sceNp.h"
|
||||
|
||||
logs::channel sceNp("sceNp", logs::level::notice);
|
||||
@@ -47,8 +48,8 @@ s32 npDrmIsAvailable(vm::cptr<u8> k_licensee_addr, vm::cptr<char> drm_path)
|
||||
return CELL_ENOENT;
|
||||
}
|
||||
|
||||
std::string k_licensee_str = "0";
|
||||
std::array<u8,0x10> k_licensee;
|
||||
std::string k_licensee_str = "";
|
||||
std::array<u8, 0x10> k_licensee{0};
|
||||
|
||||
if (k_licensee_addr)
|
||||
{
|
||||
@@ -57,23 +58,11 @@ s32 npDrmIsAvailable(vm::cptr<u8> k_licensee_addr, vm::cptr<char> drm_path)
|
||||
k_licensee[i] = *(k_licensee_addr + i);
|
||||
k_licensee_str += fmt::format("%02x", k_licensee[i]);
|
||||
}
|
||||
}
|
||||
|
||||
const std::string& enc_drm_path_local = vfs::get(enc_drm_path);
|
||||
const fs::file enc_file(vfs::get(enc_drm_path));
|
||||
|
||||
u32 magic;
|
||||
enc_file.read<u32>(magic);
|
||||
enc_file.seek(0);
|
||||
if (magic != "NPD\0"_u32)
|
||||
{
|
||||
// for now assume its just unencrypted
|
||||
sceNp.notice("npDrmIsAvailable(): Assuming edat file is unencrypted at %s", enc_drm_path);
|
||||
return CELL_OK;
|
||||
sceNp.notice("npDrmIsAvailable(): KLicense key %s", k_licensee_str);
|
||||
}
|
||||
|
||||
sceNp.warning("npDrmIsAvailable(): Found DRM license file at %s", enc_drm_path);
|
||||
sceNp.warning("npDrmIsAvailable(): Using k_licensee 0x%s", k_licensee_str);
|
||||
|
||||
// TODO: Make more explicit what this actually does (currently it copies "XXXXXXXX" from drm_path (== "/dev_hdd0/game/XXXXXXXXX/*" assumed)
|
||||
const std::string& drm_file_dir = enc_drm_path.substr(15);
|
||||
@@ -81,8 +70,6 @@ s32 npDrmIsAvailable(vm::cptr<u8> k_licensee_addr, vm::cptr<char> drm_path)
|
||||
|
||||
std::string rap_lpath = vfs::get("/dev_hdd0/home/00000001/exdata/"); // TODO: Allow multiple profiles. Use default for now.
|
||||
|
||||
auto edatkeys = fxm::get_always<EdatKeys_t>();
|
||||
|
||||
// Search for a compatible RAP file.
|
||||
for (const auto& entry : fs::dir(rap_lpath))
|
||||
{
|
||||
@@ -93,26 +80,58 @@ s32 npDrmIsAvailable(vm::cptr<u8> k_licensee_addr, vm::cptr<char> drm_path)
|
||||
}
|
||||
}
|
||||
|
||||
auto npdrmkeys = fxm::get_always<LoadedNpdrmKeys_t>();
|
||||
|
||||
npdrmkeys->devKlic.fill(0);
|
||||
npdrmkeys->rifKey.fill(0);
|
||||
|
||||
if (rap_lpath.back() == '/')
|
||||
{
|
||||
sceNp.warning("npDrmIsAvailable(): Can't find RAP file for %s", enc_drm_path);
|
||||
edatkeys->rifKey.fill(0);
|
||||
}
|
||||
else
|
||||
edatkeys->rifKey = GetEdatRifKeyFromRapFile(fs::file{ rap_lpath });
|
||||
npdrmkeys->rifKey = GetEdatRifKeyFromRapFile(fs::file{ rap_lpath });
|
||||
|
||||
if (VerifyEDATHeaderWithKLicense(enc_file, enc_drm_path_local, k_licensee))
|
||||
{
|
||||
edatkeys->devKlic = std::move(k_licensee);
|
||||
return CELL_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
sceNp.error("npDrmIsAvailable(): Failed to verify edat file %s", enc_drm_path);
|
||||
edatkeys->devKlic.fill(0);
|
||||
edatkeys->rifKey.fill(0);
|
||||
return SCE_NP_DRM_ERROR_FORMAT;
|
||||
}
|
||||
const std::string& enc_drm_path_local = vfs::get(enc_drm_path);
|
||||
const fs::file enc_file(enc_drm_path_local);
|
||||
|
||||
u32 magic;
|
||||
|
||||
enc_file.read<u32>(magic);
|
||||
enc_file.seek(0);
|
||||
|
||||
if (magic == "SCE\0"_u32)
|
||||
{
|
||||
if (verify_npdrm_self_headers(enc_file, k_licensee.data()))
|
||||
{
|
||||
npdrmkeys->devKlic = std::move(k_licensee);
|
||||
}
|
||||
else
|
||||
{
|
||||
sceNp.error("npDrmIsAvailable(): Failed to verify sce file %s", enc_drm_path);
|
||||
return SCE_NP_DRM_ERROR_NO_ENTITLEMENT;
|
||||
}
|
||||
|
||||
}
|
||||
else if (magic == "NPD\0"_u32)
|
||||
{
|
||||
// edata / sdata files
|
||||
|
||||
if (VerifyEDATHeaderWithKLicense(enc_file, enc_drm_path_local, k_licensee))
|
||||
{
|
||||
npdrmkeys->devKlic = std::move(k_licensee);
|
||||
}
|
||||
else
|
||||
{
|
||||
sceNp.error("npDrmIsAvailable(): Failed to verify npd file %s", enc_drm_path);
|
||||
return SCE_NP_DRM_ERROR_NO_ENTITLEMENT;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// for now assume its just unencrypted
|
||||
sceNp.notice("npDrmIsAvailable(): Assuming npdrm file is unencrypted at %s", enc_drm_path);
|
||||
}
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
@@ -153,7 +172,7 @@ s32 sceNpDrmVerifyUpgradeLicense2(vm::cptr<char> content_id)
|
||||
// Game hasn't been purchased therefore no RAP file present
|
||||
return SCE_NP_DRM_ERROR_LICENSE_NOT_FOUND;
|
||||
}
|
||||
|
||||
|
||||
// Game has been purchased and there's a RAP file present
|
||||
return CELL_OK;
|
||||
}
|
||||
@@ -179,7 +198,7 @@ s32 sceNpDrmProcessExitSpawn(vm::cptr<u8> klicensee, vm::cptr<char> path, u32 ar
|
||||
|
||||
sceNp.warning("klicensee: 0x%x", klicensee);
|
||||
npDrmIsAvailable(klicensee, path);
|
||||
|
||||
|
||||
sys_game_process_exitspawn(path, argv_addr, envp_addr, data_addr, data_size, prio, flags);
|
||||
|
||||
return CELL_OK;
|
||||
@@ -1531,12 +1550,14 @@ s32 _sceNpSysutilClientFree()
|
||||
|
||||
s32 _Z33_sce_np_sysutil_send_empty_packetiPN16sysutil_cxmlutil11FixedMemoryEPKcS3_()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sceNp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _Z27_sce_np_sysutil_send_packetiRN4cxml8DocumentE()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sceNp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _Z36_sce_np_sysutil_recv_packet_fixedmemiPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentERNS2_7ElementE()
|
||||
@@ -1551,7 +1572,8 @@ s32 _Z40_sce_np_sysutil_recv_packet_fixedmem_subiPN16sysutil_cxmlutil11FixedMemo
|
||||
|
||||
s32 _Z27_sce_np_sysutil_recv_packetiRN4cxml8DocumentERNS_7ElementE()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sceNp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _Z29_sce_np_sysutil_cxml_set_npidRN4cxml8DocumentERNS_7ElementEPKcPK7SceNpId()
|
||||
@@ -1571,9 +1593,15 @@ s32 _Z37sce_np_matching_set_matching2_runningb()
|
||||
|
||||
s32 _Z32_sce_np_sysutil_cxml_prepare_docPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentEPKcRNS2_7ElementES6_i()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sceNp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sceNp_A41DDED6()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(sceNp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
DECLARE(ppu_module_manager::sceNp)("sceNp", []()
|
||||
{
|
||||
@@ -1811,4 +1839,5 @@ DECLARE(ppu_module_manager::sceNp)("sceNp", []()
|
||||
REG_FUNC(sceNp, _Z31_sce_np_sysutil_send_packet_subiRN4cxml8DocumentE);
|
||||
REG_FUNC(sceNp, _Z37sce_np_matching_set_matching2_runningb);
|
||||
REG_FUNC(sceNp, _Z32_sce_np_sysutil_cxml_prepare_docPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentEPKcRNS2_7ElementES6_i);
|
||||
REG_FNID(sceNp, 0xA41DDED6, sceNp_A41DDED6); //NpCommerce2 Splatherhouse
|
||||
});
|
||||
|
||||
@@ -198,6 +198,17 @@ s32 sys_crash_dump_set_user_log_area()
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sysPrxForUser_B5D5F64E()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(sysPrxForUser);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sysPrxForUser_9FB6228E()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(sysPrxForUser);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
extern void sysPrxForUser_sys_lwmutex_init();
|
||||
extern void sysPrxForUser_sys_lwcond_init();
|
||||
@@ -258,4 +269,6 @@ DECLARE(ppu_module_manager::sysPrxForUser)("sysPrxForUser", []()
|
||||
REG_FUNC(sysPrxForUser, console_getc);
|
||||
REG_FUNC(sysPrxForUser, console_putc);
|
||||
REG_FUNC(sysPrxForUser, console_write);
|
||||
REG_FNID(sysPrxForUser, 0xB5D5F64E, sysPrxForUser_B5D5F64E);
|
||||
REG_FNID(sysPrxForUser, 0x9FB6228E, sysPrxForUser_9FB6228E); //Np_commerce2 Splatherhouse
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
logs::channel sys_io("sys_io", logs::level::notice);
|
||||
@@ -28,11 +28,21 @@ s32 sys_config_remove_service_listener()
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
}
|
||||
|
||||
s32 sys_config_register_io_error_handler()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
}
|
||||
|
||||
s32 sys_config_register_service()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
}
|
||||
|
||||
s32 sys_config_unregister_io_error_handler()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
}
|
||||
|
||||
s32 sys_config_unregister_service()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
@@ -49,6 +59,8 @@ DECLARE(ppu_module_manager::sys_io)("sys_io", []()
|
||||
REG_FUNC(sys_io, sys_config_stop);
|
||||
REG_FUNC(sys_io, sys_config_add_service_listener);
|
||||
REG_FUNC(sys_io, sys_config_remove_service_listener);
|
||||
REG_FUNC(sys_io, sys_config_register_io_error_handler);
|
||||
REG_FUNC(sys_io, sys_config_register_service);
|
||||
REG_FUNC(sys_io, sys_config_unregister_io_error_handler);
|
||||
REG_FUNC(sys_io, sys_config_unregister_service);
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
namespace vm { using namespace ps3; }
|
||||
@@ -261,7 +261,8 @@ vm::ptr<char> _sys_strncpy(vm::ptr<char> dest, vm::cptr<char> source, u32 len)
|
||||
|
||||
s32 _sys_strncasecmp()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sysPrxForUser);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_strrchr()
|
||||
@@ -356,7 +357,8 @@ s32 _sys_vsprintf()
|
||||
|
||||
s32 _sys_qsort()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sysPrxForUser);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
void sysPrxForUser_sys_libc_init()
|
||||
|
||||
@@ -24,7 +24,8 @@ struct memory_pool_t
|
||||
|
||||
s32 sys_mempool_allocate_block()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sysPrxForUser);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_mempool_create(vm::ptr<sys_mempool_t> mempool, vm::ptr<void> chunk, const u64 chunk_size, const u64 block_size, const u64 ralignment)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
#include "Emu/IdManager.h"
|
||||
|
||||
@@ -656,15 +656,15 @@ namespace sys_net
|
||||
libnet.warning("shutdown(s=%d, how=%d)", s, how);
|
||||
std::shared_ptr<sys_net_socket> sock = idm::get<sys_net_socket>(s);
|
||||
|
||||
s32 ret = ::shutdown(sock->s, how);
|
||||
/*s32 ret = ::shutdown(sock->s, how);
|
||||
|
||||
if (ret != 0)
|
||||
{
|
||||
libnet.error("shutdown(): error %d", get_errno() = get_last_error());
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}*/
|
||||
|
||||
return ret;
|
||||
return true;
|
||||
}
|
||||
|
||||
s32 socket(s32 family, s32 type, s32 protocol)
|
||||
@@ -810,12 +810,30 @@ namespace sys_net
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_net_get_if_list()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_net_get_name_server()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_net_get_netemu_test_param()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_net_get_routing_table_af()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_net_get_sockinfo(s32 s, vm::ptr<sys_net_sockinfo_t> p, s32 n)
|
||||
{
|
||||
libnet.todo("sys_net_get_sockinfo()");
|
||||
@@ -933,6 +951,221 @@ namespace sys_net
|
||||
libnet.todo("sys_net_free_thread_context(tid=%d, flags=%d)", tid, flags);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_abort()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_bnet_control()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 __sys_net_lib_calloc()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_free()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_get_system_time()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_if_nametoindex()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_ioctl()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 __sys_net_lib_malloc()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_rand()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 __sys_net_lib_realloc()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_reset_libnetctl_queue()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_set_libnetctl_queue()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_thread_create()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_thread_exit()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_thread_join()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_sync_clear()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_sync_create()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_sync_destroy()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_sync_signal()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_sync_wait()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_sysctl()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sys_net_lib_usleep()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_netset_abort()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_netset_close()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_netset_get_if_id()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_netset_get_status()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_netset_if_down()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_netset_get_key_value()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
s32 sys_netset_if_up()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_netset_open()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sce_net_get_name_server()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sce_net_add_name_server_with_char()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sce_net_flush_route()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sce_net_set_default_gateway()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sce_net_set_ip_and_mask()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 _sce_net_set_name_server()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(libnet);
|
||||
return CELL_OK;
|
||||
}
|
||||
}
|
||||
|
||||
// Define macro for namespace
|
||||
@@ -976,7 +1209,10 @@ DECLARE(ppu_module_manager::libnet)("sys_net", []()
|
||||
REG_FUNC_(sys_net_set_udpp2p_test_param);
|
||||
REG_FUNC_(sys_net_get_lib_name_server);
|
||||
REG_FUNC_(sys_net_if_ctl);
|
||||
REG_FUNC_(sys_net_get_if_list);
|
||||
REG_FUNC_(sys_net_get_name_server);
|
||||
REG_FUNC_(sys_net_get_netemu_test_param);
|
||||
REG_FUNC_(sys_net_get_routing_table_af);
|
||||
REG_FUNC_(sys_net_get_sockinfo);
|
||||
REG_FUNC_(sys_net_close_dump);
|
||||
REG_FUNC_(sys_net_set_test_param);
|
||||
@@ -996,4 +1232,47 @@ DECLARE(ppu_module_manager::libnet)("sys_net", []()
|
||||
REG_FUNC_(_sys_net_h_errno_loc);
|
||||
REG_FUNC_(sys_net_set_netemu_test_param);
|
||||
REG_FUNC_(sys_net_free_thread_context);
|
||||
|
||||
REG_FUNC_(_sys_net_lib_abort);
|
||||
REG_FUNC_(_sys_net_lib_bnet_control);
|
||||
REG_FUNC_(__sys_net_lib_calloc);
|
||||
REG_FUNC_(_sys_net_lib_free);
|
||||
REG_FUNC_(_sys_net_lib_get_system_time);
|
||||
REG_FUNC_(_sys_net_lib_if_nametoindex);
|
||||
REG_FUNC_(_sys_net_lib_ioctl);
|
||||
REG_FUNC_(__sys_net_lib_malloc);
|
||||
REG_FUNC_(_sys_net_lib_rand);
|
||||
REG_FUNC_(__sys_net_lib_realloc);
|
||||
REG_FUNC_(_sys_net_lib_reset_libnetctl_queue);
|
||||
REG_FUNC_(_sys_net_lib_set_libnetctl_queue);
|
||||
|
||||
REG_FUNC_(_sys_net_lib_thread_create);
|
||||
REG_FUNC_(_sys_net_lib_thread_exit);
|
||||
REG_FUNC_(_sys_net_lib_thread_join);
|
||||
|
||||
REG_FUNC_(_sys_net_lib_sync_clear);
|
||||
REG_FUNC_(_sys_net_lib_sync_create);
|
||||
REG_FUNC_(_sys_net_lib_sync_destroy);
|
||||
REG_FUNC_(_sys_net_lib_sync_signal);
|
||||
REG_FUNC_(_sys_net_lib_sync_wait);
|
||||
|
||||
REG_FUNC_(_sys_net_lib_sysctl);
|
||||
REG_FUNC_(_sys_net_lib_usleep);
|
||||
|
||||
REG_FUNC_(sys_netset_abort);
|
||||
REG_FUNC_(sys_netset_close);
|
||||
REG_FUNC_(sys_netset_get_if_id);
|
||||
REG_FUNC_(sys_netset_get_key_value);
|
||||
REG_FUNC_(sys_netset_get_status);
|
||||
REG_FUNC_(sys_netset_if_down);
|
||||
REG_FUNC_(sys_netset_if_up);
|
||||
REG_FUNC_(sys_netset_open);
|
||||
|
||||
REG_FUNC_(_sce_net_add_name_server_with_char);
|
||||
REG_FUNC_(_sce_net_flush_route);
|
||||
|
||||
REG_FUNC_(_sce_net_get_name_server);
|
||||
REG_FUNC_(_sce_net_set_default_gateway);
|
||||
REG_FUNC_(_sce_net_set_ip_and_mask);
|
||||
REG_FUNC_(_sce_net_set_name_server);
|
||||
});
|
||||
|
||||
@@ -107,12 +107,14 @@ void sys_ppu_thread_once(ppu_thread& ppu, vm::ptr<atomic_be_t<u32>> once_ctrl, v
|
||||
|
||||
s32 sys_ppu_thread_register_atexit()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sysPrxForUser);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_ppu_thread_unregister_atexit()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sysPrxForUser);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
void sysPrxForUser_sys_ppu_thread_init()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
@@ -59,7 +59,7 @@ s32 sys_spu_image_close(vm::ptr<sys_spu_image_t> img)
|
||||
return CELL_EINVAL;
|
||||
}
|
||||
|
||||
verify(HERE), vm::dealloc(img->segs.addr(), vm::main); // Current rough implementation
|
||||
//verify(HERE), vm::dealloc(img->segs.addr(), vm::main); // Current rough implementation
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "PPUThread.h"
|
||||
#include "PPUInterpreter.h"
|
||||
@@ -2181,7 +2181,7 @@ bool ppu_interpreter::TW(ppu_thread& ppu, ppu_opcode_t op)
|
||||
((u32)a < (u32)b && (op.bo & 0x2)) ||
|
||||
((u32)a >(u32)b && (op.bo & 0x1)))
|
||||
{
|
||||
fmt::throw_exception("Trap!" HERE);
|
||||
LOG_ERROR(PPU, "Trap! (0x%x)" HERE, (u32) TW);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Utilities/Config.h"
|
||||
#include "Utilities/AutoPause.h"
|
||||
#include "Crypto/sha1.h"
|
||||
@@ -19,6 +19,8 @@
|
||||
|
||||
namespace vm { using namespace ps3; }
|
||||
|
||||
LOG_CHANNEL(cell005C);
|
||||
LOG_CHANNEL(cell0054);
|
||||
LOG_CHANNEL(cellAdec);
|
||||
LOG_CHANNEL(cellAtrac);
|
||||
LOG_CHANNEL(cellAtracMulti);
|
||||
@@ -30,9 +32,11 @@ LOG_CHANNEL(cellCelp8Enc);
|
||||
LOG_CHANNEL(cellCelpEnc);
|
||||
LOG_CHANNEL(cellDaisy);
|
||||
LOG_CHANNEL(cellDmux);
|
||||
LOG_CHANNEL(cellF044);
|
||||
LOG_CHANNEL(cellFiber);
|
||||
LOG_CHANNEL(cellFont);
|
||||
LOG_CHANNEL(cellFontFT);
|
||||
LOG_CHANNEL(cell_FreeType2);
|
||||
LOG_CHANNEL(cellFs);
|
||||
LOG_CHANNEL(cellGame);
|
||||
LOG_CHANNEL(cellGameExec);
|
||||
@@ -204,6 +208,8 @@ static void ppu_initialize_modules()
|
||||
{
|
||||
const std::initializer_list<const ppu_static_module*> registered
|
||||
{
|
||||
&ppu_module_manager::cell005C,
|
||||
&ppu_module_manager::cell0054,
|
||||
&ppu_module_manager::cellAdec,
|
||||
&ppu_module_manager::cellAtrac,
|
||||
&ppu_module_manager::cellAtracMulti,
|
||||
@@ -215,9 +221,11 @@ static void ppu_initialize_modules()
|
||||
&ppu_module_manager::cellCelpEnc,
|
||||
&ppu_module_manager::cellDaisy,
|
||||
&ppu_module_manager::cellDmux,
|
||||
&ppu_module_manager::cellF044,
|
||||
&ppu_module_manager::cellFiber,
|
||||
&ppu_module_manager::cellFont,
|
||||
&ppu_module_manager::cellFontFT,
|
||||
&ppu_module_manager::cell_FreeType2,
|
||||
&ppu_module_manager::cellFs,
|
||||
&ppu_module_manager::cellGame,
|
||||
&ppu_module_manager::cellGameExec,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
|
||||
#include "PPUFunction.h"
|
||||
#include "PPUCallback.h"
|
||||
@@ -105,6 +105,8 @@ public:
|
||||
return info;
|
||||
}
|
||||
|
||||
static const ppu_static_module cell005C;
|
||||
static const ppu_static_module cell0054;
|
||||
static const ppu_static_module cellAdec;
|
||||
static const ppu_static_module cellAtrac;
|
||||
static const ppu_static_module cellAtracMulti;
|
||||
@@ -116,9 +118,11 @@ public:
|
||||
static const ppu_static_module cellCelpEnc;
|
||||
static const ppu_static_module cellDaisy;
|
||||
static const ppu_static_module cellDmux;
|
||||
static const ppu_static_module cellF044;
|
||||
static const ppu_static_module cellFiber;
|
||||
static const ppu_static_module cellFont;
|
||||
static const ppu_static_module cellFontFT;
|
||||
static const ppu_static_module cell_FreeType2;
|
||||
static const ppu_static_module cellFs;
|
||||
static const ppu_static_module cellGame;
|
||||
static const ppu_static_module cellGameExec;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Utilities/Config.h"
|
||||
#include "Utilities/VirtualMemory.h"
|
||||
#include "Crypto/sha1.h"
|
||||
@@ -85,7 +85,7 @@ enum class ppu_decoder_type
|
||||
llvm,
|
||||
};
|
||||
|
||||
cfg::map_entry<ppu_decoder_type> g_cfg_ppu_decoder(cfg::root.core, "PPU Decoder", 1,
|
||||
cfg::map_entry<ppu_decoder_type> g_cfg_ppu_decoder(cfg::root.core, "PPU decoder", 1,
|
||||
{
|
||||
{ "Interpreter (precise)", ppu_decoder_type::precise },
|
||||
{ "Interpreter (fast)", ppu_decoder_type::fast },
|
||||
@@ -634,7 +634,11 @@ u32 ppu_thread::stack_push(u32 size, u32 align_v)
|
||||
|
||||
if (old_pos >= context.stack_addr && old_pos < context.stack_addr + context.stack_size && context.gpr[1] < context.stack_addr)
|
||||
{
|
||||
fmt::throw_exception("Stack overflow (size=0x%x, align=0x%x, SP=0x%llx, stack=*0x%x)" HERE, size, align_v, old_pos, context.stack_addr);
|
||||
LOG_ERROR(PPU, "Stack overflow (size=0x%x, align=0x%x, SP=0x%llx, stack=*0x%x)" HERE, size, align_v, old_pos, context.stack_addr);
|
||||
const u32 addr = static_cast<u32>(context.gpr[1]);
|
||||
vm::ps3::_ref<nse_t<u32>>(addr + size) = old_pos;
|
||||
std::memset(vm::base(addr), 0, size);
|
||||
return addr;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -685,7 +689,7 @@ extern void sse_cellbe_stvrx(u64 addr, __m128i a);
|
||||
|
||||
[[noreturn]] static void ppu_trap(u64 addr)
|
||||
{
|
||||
fmt::throw_exception("Trap! (0x%llx)", addr);
|
||||
LOG_ERROR(PPU, "Trap! (0x%llx)", addr);
|
||||
}
|
||||
|
||||
[[noreturn]] static void ppu_unreachable(u64 addr)
|
||||
|
||||
@@ -2144,7 +2144,7 @@ void spu_recompiler::BRNZ(spu_opcode_t op)
|
||||
{
|
||||
const u32 target = spu_branch_target(m_pos, op.i16);
|
||||
|
||||
if (target == m_pos) fmt::throw_exception("Branch-to-self (0x%05x)" HERE, target);
|
||||
if (target == m_pos) LOG_ERROR(SPU, "Branch-to-self (0x%05x)" HERE, target);
|
||||
|
||||
c->cmp(SPU_OFF_32(gpr[op.rt]._u32[3]), 0);
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/Memory/Memory.h"
|
||||
#include "Emu/System.h"
|
||||
|
||||
@@ -359,7 +359,8 @@ void spu_interpreter::BIHNZ(SPUThread& spu, spu_opcode_t op)
|
||||
|
||||
void spu_interpreter::STOPD(SPUThread& spu, spu_opcode_t op)
|
||||
{
|
||||
fmt::throw_exception("Unimplemented instruction" HERE);
|
||||
spu._ref<v128>((spu.gpr[op.ra]._u32[3] + spu.gpr[op.rb]._u32[3] + spu.gpr[op.rc]._u32[3]) & 0x3fff);
|
||||
LOG_TODO(SPU, "Unimplemented instruction STOPD" HERE);
|
||||
}
|
||||
|
||||
void spu_interpreter::STQX(SPUThread& spu, spu_opcode_t op)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Utilities/Config.h"
|
||||
#include "Utilities/lockless.h"
|
||||
#include "Emu/Memory/Memory.h"
|
||||
@@ -40,7 +40,7 @@ enum class spu_decoder_type
|
||||
llvm,
|
||||
};
|
||||
|
||||
cfg::map_entry<spu_decoder_type> g_cfg_spu_decoder(cfg::root.core, "SPU Decoder", 2,
|
||||
cfg::map_entry<spu_decoder_type> g_cfg_spu_decoder(cfg::root.core, "SPU decoder", 2,
|
||||
{
|
||||
{ "Interpreter (precise)", spu_decoder_type::precise },
|
||||
{ "Interpreter (fast)", spu_decoder_type::fast },
|
||||
@@ -1284,7 +1284,8 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
|
||||
// detect masking unimplemented events
|
||||
if (value & ~SPU_EVENT_IMPLEMENTED)
|
||||
{
|
||||
break;
|
||||
return ch_in_mbox.set_values(1, CELL_ESRCH), true;
|
||||
LOG_TODO(SPU, "Unknown WrEventMask (ch=%d [%s], value=0x%x)" HERE);
|
||||
}
|
||||
|
||||
ch_event_mask = value;
|
||||
@@ -1295,7 +1296,8 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
|
||||
{
|
||||
if (value & ~SPU_EVENT_IMPLEMENTED)
|
||||
{
|
||||
break;
|
||||
return ch_in_mbox.set_values(1, CELL_ESRCH), true;
|
||||
LOG_TODO(SPU, "Unknown WrEventAck (ch=%d [%s], value=0x%x)" HERE);
|
||||
}
|
||||
|
||||
ch_event_stat &= ~value;
|
||||
@@ -1303,12 +1305,13 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
|
||||
}
|
||||
|
||||
case 69:
|
||||
{
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fmt::throw_exception("Unknown/illegal channel (ch=%d [%s], value=0x%x)" HERE, ch, ch < 128 ? spu_ch_name[ch] : "???", value);
|
||||
LOG_TODO(SPU, "Unknown/illegal channel (ch=%d [%s], value=0x%x)" HERE, ch, ch < 128 ? spu_ch_name[ch] : "???", value);
|
||||
}
|
||||
|
||||
bool SPUThread::stop_and_signal(u32 code)
|
||||
@@ -1378,6 +1381,11 @@ bool SPUThread::stop_and_signal(u32 code)
|
||||
return true;
|
||||
}
|
||||
|
||||
case 0x3fff:
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
case 0x110:
|
||||
{
|
||||
/* ===== sys_spu_thread_receive_event ===== */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user