winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
September 2020
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
1 participants
703 discussions
Start a n
N
ew thread
Rémi Bernon : widl: Output interface C names in method argument list.
by Alexandre Julliard
07 Sep '20
07 Sep '20
Module: wine Branch: master Commit: 6698a2ef7f1b481fb3e9562c4915fefb39635a86 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=6698a2ef7f1b481fb3e9562c…
Author: Rémi Bernon <rbernon(a)codeweavers.com> Date: Thu Sep 3 14:52:07 2020 +0200 widl: Output interface C names in method argument list. This fixes WinRT interface generation where only simple names were used instead of the C interface names. With the previous sample idl: #ifdef __WIDL__ #pragma winrt ns_prefix #endif import "wtypes.idl"; namespace Windows { [object] interface IFoo {} [object] interface IBar { HRESULT DoBar([in] IFoo *foo); } } $ widl -o windows.foo.h windows.foo.idl Generated file diff before/after: diff --git a/windows.foo.h b/windows.foo.h index 3790dc7..65151cb 100644 --- a/windows.foo.h +++ b/windows.foo.h @@ -123,7 +123,7 @@ typedef struct __x_ABI_CWindows_CIBarVtbl { /*** IBar methods ***/ HRESULT (STDMETHODCALLTYPE *DoBar)( __x_ABI_CWindows_CIBar *This, - IFoo *foo); + __x_ABI_CWindows_CIFoo *foo); END_INTERFACE } __x_ABI_CWindows_CIBarVtbl; @@ -138,7 +138,7 @@ interface __x_ABI_CWindows_CIBar { #define __x_ABI_CWindows_CIBar_DoBar(This,foo) (This)->lpVtbl->DoBar(This,foo) #else /*** IBar methods ***/ -static FORCEINLINE HRESULT __x_ABI_CWindows_CIBar_DoBar(__x_ABI_CWindows_CIBar* This,IFoo *foo) { +static FORCEINLINE HRESULT __x_ABI_CWindows_CIBar_DoBar(__x_ABI_CWindows_CIBar* This,__x_ABI_CWindows_CIFoo *foo) { return This->lpVtbl->DoBar(This,foo); } #endif Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- tools/widl/client.c | 3 +-- tools/widl/header.c | 42 ++++++++++++++++++++---------------------- tools/widl/header.h | 2 +- tools/widl/proxy.c | 4 ++-- 4 files changed, 24 insertions(+), 27 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=6698a2ef7f1b481fb3e9…
1
0
0
0
Rémi Bernon : widl: Search for known types in current namespace.
by Alexandre Julliard
07 Sep '20
07 Sep '20
Module: wine Branch: master Commit: f4f612a07713bac6969b389f44378e4f7ceef587 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=f4f612a07713bac6969b389f…
Author: Rémi Bernon <rbernon(a)codeweavers.com> Date: Thu Sep 3 14:41:59 2020 +0200 widl: Search for known types in current namespace. Fixes the following error with this sample idl: #ifdef __WIDL__ #pragma winrt ns_prefix #endif import "wtypes.idl"; namespace Windows { [object] interface IFoo {} [object] interface IBar { HRESULT DoBar([in] IFoo *foo); } } $ widl -o windows.foo.h windows.foo.idl windows.foo.idl:13: error: type 'IFoo' not found Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- tools/widl/parser.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/widl/parser.y b/tools/widl/parser.y index 3ef8d89ba1..91c5b809bb 100644 --- a/tools/widl/parser.y +++ b/tools/widl/parser.y @@ -1959,7 +1959,7 @@ type_t *find_type(const char *name, struct namespace *namespace, int t) static type_t *find_type_or_error(const char *name, int t) { - type_t *type = find_type(name, NULL, t); + type_t *type = find_type(name, current_namespace, t); if (!type) { error_loc("type '%s' not found\n", name); return NULL;
1
0
0
0
Esme Povirk : mscoree: Use exe basename to name the default domain.
by Alexandre Julliard
07 Sep '20
07 Sep '20
Module: wine Branch: master Commit: f222f564143db472d0a35524a40e04ecff59737a URL:
https://source.winehq.org/git/wine.git/?a=commit;h=f222f564143db472d0a35524…
Author: Esme Povirk <esme(a)codeweavers.com> Date: Sun Sep 6 10:29:21 2020 -0500 mscoree: Use exe basename to name the default domain. Signed-off-by: Esme Povirk <esme(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/mscoree/metahost.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/dlls/mscoree/metahost.c b/dlls/mscoree/metahost.c index e854ec2bdf..a3ed153475 100644 --- a/dlls/mscoree/metahost.c +++ b/dlls/mscoree/metahost.c @@ -298,6 +298,21 @@ fail: return E_FAIL; } +static char* get_exe_basename_utf8(void) +{ + WCHAR filenameW[MAX_PATH], *basenameW; + + GetModuleFileNameW(NULL, filenameW, MAX_PATH); + + basenameW = wcsrchr(filenameW, '\\'); + if (basenameW) + basenameW += 1; + else + basenameW = filenameW; + + return WtoA(basenameW); +} + MonoDomain* get_root_domain(void) { static MonoDomain* root_domain; @@ -309,8 +324,13 @@ MonoDomain* get_root_domain(void) if (root_domain == NULL) { - /* FIXME: Use exe filename to name the domain? */ - root_domain = mono_jit_init_version("mscorlib.dll", "v4.0.30319"); + char *exe_basename; + + exe_basename = get_exe_basename_utf8(); + + root_domain = mono_jit_init_version(exe_basename, "v4.0.30319"); + + HeapFree(GetProcessHeap(), 0, exe_basename); is_mono_started = TRUE; }
1
0
0
0
Zebediah Figura : qcap/avimux: Pass the correct field to CONTAINING_RECORD in impl_sink_from_strmbase_pin().
by Alexandre Julliard
07 Sep '20
07 Sep '20
Module: wine Branch: master Commit: e8bb3dbb7bcf22b9dcb7a136ad8b6b2c5f70b99d URL:
https://source.winehq.org/git/wine.git/?a=commit;h=e8bb3dbb7bcf22b9dcb7a136…
Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Fri Sep 4 17:21:41 2020 -0500 qcap/avimux: Pass the correct field to CONTAINING_RECORD in impl_sink_from_strmbase_pin(). Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/qcap/avimux.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/qcap/avimux.c b/dlls/qcap/avimux.c index ea73e42040..3f4d0f2cd6 100644 --- a/dlls/qcap/avimux.c +++ b/dlls/qcap/avimux.c @@ -1257,7 +1257,7 @@ static const IQualityControlVtbl AviMuxOut_QualityControlVtbl = { static inline AviMuxIn *impl_sink_from_strmbase_pin(struct strmbase_pin *iface) { - return CONTAINING_RECORD(iface, AviMuxIn, pin.pin.IPin_iface); + return CONTAINING_RECORD(iface, AviMuxIn, pin.pin); } static HRESULT sink_query_interface(struct strmbase_pin *iface, REFIID iid, void **out)
1
0
0
0
Isabella Bosia : vkd3d-compiler: Add formatting options.
by Alexandre Julliard
07 Sep '20
07 Sep '20
Module: vkd3d Branch: master Commit: 04069d8d55f8c215245387b9300487d9d4bf3b79 URL:
https://source.winehq.org/git/vkd3d.git/?a=commit;h=04069d8d55f8c215245387b…
Author: Isabella Bosia <ibosia(a)codeweavers.com> Date: Mon Sep 7 12:35:47 2020 +0100 vkd3d-compiler: Add formatting options. Signed-off-by: Isabella Bosia <ibosia(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- programs/vkd3d-compiler/main.c | 54 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/programs/vkd3d-compiler/main.c b/programs/vkd3d-compiler/main.c index c05ec6a..4812d47 100644 --- a/programs/vkd3d-compiler/main.c +++ b/programs/vkd3d-compiler/main.c @@ -29,7 +29,7 @@ #include "vkd3d_common.h" #include "vkd3d_shader.h" -#define MAX_COMPILE_OPTIONS 2 +#define MAX_COMPILE_OPTIONS 3 enum { @@ -40,6 +40,7 @@ enum OPTION_PRINT_TARGET_TYPES, OPTION_STRIP_DEBUG, OPTION_VERSION, + OPTION_TEXT_FORMATTING, }; static const struct source_type_info @@ -146,6 +147,10 @@ static void print_usage(const char *program_name) " -o, --output=<file> Write the output to <file>. If <file> is '-' or no\n" " output file is specified, output will be written to\n" " standard output.\n" + " --formatting=<type> Specify the formatting options for text output.\n" + " Valid values are 'none', 'print', 'colour', 'indent',\n" + " 'show-byte-offset', 'no-header', and 'friendly-names'.\n" + " Default is --formatting=friendly-names,indent.\n" " --print-source-types Display the supported source types and exit.\n" " --print-target-types Display the supported target types for the specified\n" " source type and exit.\n" @@ -221,6 +226,45 @@ static bool parse_buffer_uav(enum vkd3d_shader_compile_option_buffer_uav *buffer return false; } +static bool parse_formatting(uint32_t *formatting, char *arg) +{ + static const struct formatting_option + { + char *name; + enum vkd3d_shader_compile_option_formatting_flags value; + } + opts[] = + { + {"none", VKD3D_SHADER_COMPILE_OPTION_FORMATTING_NONE }, + {"colour", VKD3D_SHADER_COMPILE_OPTION_FORMATTING_COLOUR }, + {"indent", VKD3D_SHADER_COMPILE_OPTION_FORMATTING_INDENT }, + {"show-byte-offset", VKD3D_SHADER_COMPILE_OPTION_FORMATTING_SHOW_BYTE_OFFSET}, + {"no-header", VKD3D_SHADER_COMPILE_OPTION_FORMATTING_NO_HEADER }, + {"friendly-names", VKD3D_SHADER_COMPILE_OPTION_FORMATTING_FRIENDLY_NAMES }, + }; + char *tok; + + for (tok = strtok(arg, ","); tok; tok = strtok(NULL, ",")) + { + unsigned int i; + for (i = 0; i < ARRAY_SIZE(opts); ++i) + { + if (!strcmp(tok, opts[i].name)) + { + *formatting |= opts[i].value; + break; + } + } + if (i == ARRAY_SIZE(opts)) + { + fprintf(stderr, "Invalid formatting '%s' specified.\n", tok); + return false; + } + } + + return true; +} + static enum vkd3d_shader_source_type parse_source_type(const char *source) { unsigned int i; @@ -292,6 +336,7 @@ static bool validate_target_type( static bool parse_command_line(int argc, char **argv, struct options *options) { enum vkd3d_shader_compile_option_buffer_uav buffer_uav; + enum vkd3d_shader_compile_option_formatting_flags formatting = 0; int option; static struct option long_options[] = @@ -299,6 +344,7 @@ static bool parse_command_line(int argc, char **argv, struct options *options) {"help", no_argument, NULL, OPTION_HELP}, {"buffer-uav", required_argument, NULL, OPTION_BUFFER_UAV}, {"output", required_argument, NULL, OPTION_OUTPUT}, + {"formatting", required_argument, NULL, OPTION_TEXT_FORMATTING}, {"print-source-types", no_argument, NULL, OPTION_PRINT_SOURCE_TYPES}, {"print-target-types", no_argument, NULL, OPTION_PRINT_TARGET_TYPES}, {"strip-debug", no_argument, NULL, OPTION_STRIP_DEBUG}, @@ -339,6 +385,12 @@ static bool parse_command_line(int argc, char **argv, struct options *options) options->output_filename = optarg; break; + case OPTION_TEXT_FORMATTING: + if (!parse_formatting(&formatting, optarg)) + return false; + add_compile_option(options, VKD3D_SHADER_COMPILE_OPTION_FORMATTING, formatting); + break; + case OPTION_PRINT_SOURCE_TYPES: options->print_source_types = true; return true;
1
0
0
0
Isabella Bosia : vkd3d-compiler: Add spirv-text output type.
by Alexandre Julliard
07 Sep '20
07 Sep '20
Module: vkd3d Branch: master Commit: c7f73f10fa4dc6b247ea0ad12cb9e41c6362553e URL:
https://source.winehq.org/git/vkd3d.git/?a=commit;h=c7f73f10fa4dc6b247ea0ad…
Author: Isabella Bosia <ibosia(a)codeweavers.com> Date: Mon Sep 7 12:35:46 2020 +0100 vkd3d-compiler: Add spirv-text output type. Also allow outputting non-binary formats to tty. Signed-off-by: Isabella Bosia <ibosia(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- programs/vkd3d-compiler/main.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/programs/vkd3d-compiler/main.c b/programs/vkd3d-compiler/main.c index cb23b81..c05ec6a 100644 --- a/programs/vkd3d-compiler/main.c +++ b/programs/vkd3d-compiler/main.c @@ -51,8 +51,8 @@ static const struct source_type_info source_type_info[] = { {VKD3D_SHADER_SOURCE_DXBC_TPF, - "dxbc-tpf", "A 'Tokenized Program Format' shader embedded in a DXBC container.\n" - " This is the format used for Direct3D shader model 4 and 5 shaders."}, + "dxbc-tpf", "A 'Tokenized Program Format' shader embedded in a DXBC container.\n" + " This is the format used for Direct3D shader model 4 and 5 shaders.\n"}, }; static const struct target_type_info @@ -60,12 +60,17 @@ static const struct target_type_info enum vkd3d_shader_target_type type; const char *name; const char *description; + bool is_binary; } target_type_info[] = { {VKD3D_SHADER_TARGET_SPIRV_BINARY, "spirv-binary", "A SPIR-V shader in binary form.\n" - " This is the format used for Vulkan shaders.\n"}, + " This is the format used for Vulkan shaders.\n", + true}, + {VKD3D_SHADER_TARGET_SPIRV_TEXT, + "spirv-text", "A SPIR-V shader in text form.\n", + false}, }; static bool read_shader(struct vkd3d_shader_code *shader, FILE *f) @@ -134,8 +139,7 @@ static void print_usage(const char *program_name) "[options...] [file]\n" "Options:\n" " -h, --help Display this information and exit.\n" - " -b <type> Specify the target type. Currently the only valid value\n" - " is 'spirv-binary'.\n" + " -b <type> Specify the target type.\n" " --buffer-uav=<type> Specify the buffer type to use for buffer UAV bindings.\n" " Valid values are 'buffer-texture' (default) and\n" " 'storage-buffer'.\n" @@ -393,7 +397,7 @@ static void print_source_types(void) { const struct source_type_info *type = get_source_type_info(source_types[i]); if (type) - fprintf(stdout, " %s %s", type->name, type->description); + fprintf(stdout, " %-12s %s", type->name, type->description); } } @@ -410,7 +414,7 @@ static void print_target_types(enum vkd3d_shader_source_type source_type) { const struct target_type_info *type = get_target_type_info(target_types[i]); if (type) - fprintf(stdout, " %s %s", type->name, type->description); + fprintf(stdout, " %-12s %s", type->name, type->description); } } @@ -502,7 +506,8 @@ int main(int argc, char **argv) if (!(output = open_output(options.output_filename, &close_output))) goto done; - if (!options.output_filename && isatty(fileno(output))) + if (!options.output_filename && get_target_type_info(options.target_type)->is_binary + && isatty(fileno(output))) { fprintf(stderr, "Output is a tty and output format is binary, exiting.\n" "If this is really what you intended, specify the output explicitly.\n");
1
0
0
0
Isabella Bosia : vkd3d-compiler: Validate target type.
by Alexandre Julliard
07 Sep '20
07 Sep '20
Module: vkd3d Branch: master Commit: 6d7bef1f8d406fd5563646888c4575b7143e7864 URL:
https://source.winehq.org/git/vkd3d.git/?a=commit;h=6d7bef1f8d406fd55636468…
Author: Isabella Bosia <ibosia(a)codeweavers.com> Date: Mon Sep 7 12:35:45 2020 +0100 vkd3d-compiler: Validate target type. Signed-off-by: Isabella Bosia <ibosia(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- programs/vkd3d-compiler/main.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/programs/vkd3d-compiler/main.c b/programs/vkd3d-compiler/main.c index a5cf031..cb23b81 100644 --- a/programs/vkd3d-compiler/main.c +++ b/programs/vkd3d-compiler/main.c @@ -268,6 +268,23 @@ static const struct target_type_info *get_target_type_info(enum vkd3d_shader_tar return NULL; } +static bool validate_target_type( + enum vkd3d_shader_source_type source_type, + enum vkd3d_shader_target_type target_type) +{ + unsigned int i, count; + const enum vkd3d_shader_target_type *supported_types = + vkd3d_shader_get_supported_target_types(source_type, &count); + + for (i = 0; i < ARRAY_SIZE(target_type_info); ++i) + { + if (target_type == supported_types[i]) + return true; + } + + return false; +} + static bool parse_command_line(int argc, char **argv, struct options *options) { enum vkd3d_shader_compile_option_buffer_uav buffer_uav; @@ -348,6 +365,14 @@ static bool parse_command_line(int argc, char **argv, struct options *options) } } + if (!validate_target_type(options->source_type, options->target_type)) + { + fprintf(stderr, "Target type '%s' is invalid for source type '%s'.\n", + get_target_type_info(options->target_type)->name, + get_source_type_info(options->source_type)->name); + return false; + } + if (options->print_target_types) return true;
1
0
0
0
Isabella Bosia : vkd3d-compiler: Add get_source_type_info helper.
by Alexandre Julliard
07 Sep '20
07 Sep '20
Module: vkd3d Branch: master Commit: 76c8c05fdb6682dae8c1ff77dfbc4c444535134e URL:
https://source.winehq.org/git/vkd3d.git/?a=commit;h=76c8c05fdb6682dae8c1ff7…
Author: Isabella Bosia <ibosia(a)codeweavers.com> Date: Mon Sep 7 12:35:44 2020 +0100 vkd3d-compiler: Add get_source_type_info helper. Signed-off-by: Isabella Bosia <ibosia(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- programs/vkd3d-compiler/main.c | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/programs/vkd3d-compiler/main.c b/programs/vkd3d-compiler/main.c index 0461f4a..a5cf031 100644 --- a/programs/vkd3d-compiler/main.c +++ b/programs/vkd3d-compiler/main.c @@ -42,7 +42,7 @@ enum OPTION_VERSION, }; -static const struct +static const struct source_type_info { enum vkd3d_shader_source_type type; const char *name; @@ -246,6 +246,17 @@ static enum vkd3d_shader_target_type parse_target_type(const char *target) return VKD3D_SHADER_TARGET_NONE; } +static const struct source_type_info *get_source_type_info(enum vkd3d_shader_source_type type) +{ + unsigned int i; + + for (i = 0; i < ARRAY_SIZE(source_type_info); ++i) + if (type == source_type_info[i].type) + return &source_type_info[i]; + + return NULL; +} + static const struct target_type_info *get_target_type_info(enum vkd3d_shader_target_type type) { unsigned int i; @@ -349,38 +360,25 @@ static bool parse_command_line(int argc, char **argv, struct options *options) static void print_source_types(void) { const enum vkd3d_shader_source_type *source_types; - unsigned int count, i, j; + unsigned int count, i; source_types = vkd3d_shader_get_supported_source_types(&count); fputs("Supported source types:\n", stdout); for (i = 0; i < count; ++i) { - for (j = 0; j < ARRAY_SIZE(source_type_info); ++j) - { - if (source_types[i] == source_type_info[j].type) - { - fprintf(stdout, " %s %s\n", source_type_info[j].name, source_type_info[j].description); - break; - } - } + const struct source_type_info *type = get_source_type_info(source_types[i]); + if (type) + fprintf(stdout, " %s %s", type->name, type->description); } + } static void print_target_types(enum vkd3d_shader_source_type source_type) { const enum vkd3d_shader_target_type *target_types; - const char *source_type_name; + const char *source_type_name = get_source_type_info(source_type)->name; unsigned int count, i; - for (i = 0; i < ARRAY_SIZE(source_type_info); ++i) - { - if (source_type == source_type_info[i].type) - { - source_type_name = source_type_info[i].name; - break; - } - } - target_types = vkd3d_shader_get_supported_target_types(source_type, &count); fprintf(stdout, "Supported target types for source type '%s':\n", source_type_name); for (i = 0; i < count; ++i)
1
0
0
0
Isabella Bosia : vkd3d-compiler: Add get_target_type_info helper.
by Alexandre Julliard
07 Sep '20
07 Sep '20
Module: vkd3d Branch: master Commit: c6e36bf240d0d340c72f68d0938484cfef3a4c12 URL:
https://source.winehq.org/git/vkd3d.git/?a=commit;h=c6e36bf240d0d340c72f68d…
Author: Isabella Bosia <ibosia(a)codeweavers.com> Date: Mon Sep 7 12:35:43 2020 +0100 vkd3d-compiler: Add get_target_type_info helper. Signed-off-by: Isabella Bosia <ibosia(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- programs/vkd3d-compiler/main.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/programs/vkd3d-compiler/main.c b/programs/vkd3d-compiler/main.c index a6c935c..0461f4a 100644 --- a/programs/vkd3d-compiler/main.c +++ b/programs/vkd3d-compiler/main.c @@ -55,7 +55,7 @@ source_type_info[] = " This is the format used for Direct3D shader model 4 and 5 shaders."}, }; -static const struct +static const struct target_type_info { enum vkd3d_shader_target_type type; const char *name; @@ -246,6 +246,17 @@ static enum vkd3d_shader_target_type parse_target_type(const char *target) return VKD3D_SHADER_TARGET_NONE; } +static const struct target_type_info *get_target_type_info(enum vkd3d_shader_target_type type) +{ + unsigned int i; + + for (i = 0; i < ARRAY_SIZE(target_type_info); ++i) + if (type == target_type_info[i].type) + return &target_type_info[i]; + + return NULL; +} + static bool parse_command_line(int argc, char **argv, struct options *options) { enum vkd3d_shader_compile_option_buffer_uav buffer_uav; @@ -359,7 +370,7 @@ static void print_target_types(enum vkd3d_shader_source_type source_type) { const enum vkd3d_shader_target_type *target_types; const char *source_type_name; - unsigned int count, i, j; + unsigned int count, i; for (i = 0; i < ARRAY_SIZE(source_type_info); ++i) { @@ -374,14 +385,9 @@ static void print_target_types(enum vkd3d_shader_source_type source_type) fprintf(stdout, "Supported target types for source type '%s':\n", source_type_name); for (i = 0; i < count; ++i) { - for (j = 0; j < ARRAY_SIZE(target_type_info); ++j) - { - if (target_types[i] == target_type_info[j].type) - { - fprintf(stdout, " %s %s", target_type_info[j].name, target_type_info[j].description); - break; - } - } + const struct target_type_info *type = get_target_type_info(target_types[i]); + if (type) + fprintf(stdout, " %s %s", type->name, type->description); } }
1
0
0
0
Isabella Bosia : vkd3d-shader: Add formatting compiler options.
by Alexandre Julliard
07 Sep '20
07 Sep '20
Module: vkd3d Branch: master Commit: 75f239dcbecb77c21e554cfbd4d01f24a6099507 URL:
https://source.winehq.org/git/vkd3d.git/?a=commit;h=75f239dcbecb77c21e554cf…
Author: Isabella Bosia <ibosia(a)codeweavers.com> Date: Mon Sep 7 12:35:42 2020 +0100 vkd3d-shader: Add formatting compiler options. Signed-off-by: Isabella Bosia <ibosia(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- include/vkd3d_shader.h | 2 ++ libs/vkd3d-shader/spirv.c | 12 +++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/include/vkd3d_shader.h b/include/vkd3d_shader.h index 5c825df..b048bd7 100644 --- a/include/vkd3d_shader.h +++ b/include/vkd3d_shader.h @@ -97,6 +97,8 @@ enum vkd3d_shader_compile_option_name VKD3D_SHADER_COMPILE_OPTION_STRIP_DEBUG = 0x00000001, /** \a value is a member of enum vkd3d_shader_compile_option_buffer_uav. */ VKD3D_SHADER_COMPILE_OPTION_BUFFER_UAV = 0x00000002, + /** \a value is a member of enum vkd3d_shader_compile_option_formatting_flags. */ + VKD3D_SHADER_COMPILE_OPTION_FORMATTING = 0x00000003, VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_COMPILE_OPTION_NAME), }; diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c index 530e802..913b017 100644 --- a/libs/vkd3d-shader/spirv.c +++ b/libs/vkd3d-shader/spirv.c @@ -2207,6 +2207,7 @@ struct vkd3d_dxbc_compiler unsigned int spec_constant_count; struct vkd3d_shader_spec_constant *spec_constants; size_t spec_constants_size; + enum vkd3d_shader_compile_option_formatting_flags formatting; }; static bool is_control_point_phase(const struct vkd3d_shader_phase *phase) @@ -2267,6 +2268,9 @@ struct vkd3d_dxbc_compiler *vkd3d_dxbc_compiler_create(const struct vkd3d_shader vkd3d_spirv_builder_init(&compiler->spirv_builder, vkd3d_dxbc_compiler_get_entry_point_name(compiler)); + compiler->formatting = VKD3D_SHADER_COMPILE_OPTION_FORMATTING_FRIENDLY_NAMES | + VKD3D_SHADER_COMPILE_OPTION_FORMATTING_INDENT; + for (i = 0; i < compile_info->option_count; ++i) { const struct vkd3d_shader_compile_option *option = &compile_info->options[i]; @@ -2286,6 +2290,10 @@ struct vkd3d_dxbc_compiler *vkd3d_dxbc_compiler_create(const struct vkd3d_shader WARN("Ignoring unrecognised value %#x for option %#x.\n", option->value, option->name); break; + case VKD3D_SHADER_COMPILE_OPTION_FORMATTING: + compiler->formatting = option->value; + break; + default: WARN("Ignoring unrecognised option %#x with value %#x.\n", option->name, option->value); break; @@ -9227,9 +9235,7 @@ int vkd3d_dxbc_compiler_generate_spirv(struct vkd3d_dxbc_compiler *compiler, struct vkd3d_shader_code text; enum vkd3d_shader_spirv_environment environment = vkd3d_dxbc_compiler_get_target_environment(compiler); if (vkd3d_spirv_binary_to_text(spirv, environment, - get_binary_to_text_options(VKD3D_SHADER_COMPILE_OPTION_FORMATTING_FRIENDLY_NAMES | - VKD3D_SHADER_COMPILE_OPTION_FORMATTING_INDENT), - &text) != VKD3D_OK) + get_binary_to_text_options(compiler->formatting), &text) != VKD3D_OK) return VKD3D_ERROR; *spirv = text; }
1
0
0
0
← Newer
1
...
55
56
57
58
59
60
61
...
71
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Results per page:
10
25
50
100
200