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
August 2021
----- 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
1051 discussions
Start a n
N
ew thread
Zhiyi Zhang : light.msstyles: Add Tooltip HiDPI images.
by Alexandre Julliard
23 Aug '21
23 Aug '21
Module: wine Branch: master Commit: 7bebabd998fcb7e553076d6241c6ef043ecb7156 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=7bebabd998fcb7e553076d62…
Author: Zhiyi Zhang <zzhang(a)codeweavers.com> Date: Mon Aug 23 12:08:44 2021 +0800 light.msstyles: Add Tooltip HiDPI images. Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/light.msstyles/Makefile.in | 8 ++++- dlls/light.msstyles/blue_tooltip_close.bmp | Bin 3402 -> 0 bytes dlls/light.msstyles/blue_tooltip_close.svg | 17 ----------- dlls/light.msstyles/blue_tooltip_close_16px.bmp | Bin 0 -> 3210 bytes dlls/light.msstyles/blue_tooltip_close_16px.svg | 17 +++++++++++ dlls/light.msstyles/blue_tooltip_close_20px.bmp | Bin 0 -> 4938 bytes dlls/light.msstyles/blue_tooltip_close_20px.svg | 17 +++++++++++ dlls/light.msstyles/blue_tooltip_close_24px.bmp | Bin 0 -> 7050 bytes dlls/light.msstyles/blue_tooltip_close_24px.svg | 17 +++++++++++ dlls/light.msstyles/blue_tooltip_close_28px.bmp | Bin 0 -> 9546 bytes dlls/light.msstyles/blue_tooltip_close_28px.svg | 17 +++++++++++ dlls/light.msstyles/blue_tooltip_close_32px.bmp | Bin 0 -> 12426 bytes dlls/light.msstyles/blue_tooltip_close_32px.svg | 17 +++++++++++ dlls/light.msstyles/blue_tooltip_close_36px.bmp | Bin 0 -> 15690 bytes dlls/light.msstyles/blue_tooltip_close_36px.svg | 17 +++++++++++ dlls/light.msstyles/blue_tooltip_close_40px.bmp | Bin 0 -> 19338 bytes dlls/light.msstyles/blue_tooltip_close_40px.svg | 17 +++++++++++ dlls/light.msstyles/light.rc | 38 ++++++++++++++++++++++-- 18 files changed, 161 insertions(+), 21 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=7bebabd998fcb7e55307…
1
0
0
0
Zhiyi Zhang : light.msstyles: Add Scroll Bar gripper HiDPI images.
by Alexandre Julliard
23 Aug '21
23 Aug '21
Module: wine Branch: master Commit: 0a82fe4cfed7149be549f20a37a023c0b91e0bb8 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=0a82fe4cfed7149be549f20a…
Author: Zhiyi Zhang <zzhang(a)codeweavers.com> Date: Mon Aug 23 12:08:34 2021 +0800 light.msstyles: Add Scroll Bar gripper HiDPI images. Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/light.msstyles/Makefile.in | 8 ++- ....bmp => blue_scrollbar_resizebox_grip_16px.bmp} | Bin 2314 -> 2186 bytes ....svg => blue_scrollbar_resizebox_grip_16px.svg} | 4 +- .../blue_scrollbar_resizebox_grip_20px.bmp | Bin 0 -> 3338 bytes .../blue_scrollbar_resizebox_grip_20px.svg | 26 ++++++++++ .../blue_scrollbar_resizebox_grip_24px.bmp | Bin 0 -> 4746 bytes .../blue_scrollbar_resizebox_grip_24px.svg | 26 ++++++++++ .../blue_scrollbar_resizebox_grip_28px.bmp | Bin 0 -> 6410 bytes .../blue_scrollbar_resizebox_grip_28px.svg | 26 ++++++++++ .../blue_scrollbar_resizebox_grip_32px.bmp | Bin 0 -> 8330 bytes .../blue_scrollbar_resizebox_grip_32px.svg | 26 ++++++++++ .../blue_scrollbar_resizebox_grip_36px.bmp | Bin 0 -> 10506 bytes .../blue_scrollbar_resizebox_grip_36px.svg | 26 ++++++++++ .../blue_scrollbar_resizebox_grip_40px.bmp | Bin 0 -> 12938 bytes .../blue_scrollbar_resizebox_grip_40px.svg | 26 ++++++++++ dlls/light.msstyles/light.rc | 56 +++++++++++++++++++-- 16 files changed, 216 insertions(+), 8 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=0a82fe4cfed7149be549…
1
0
0
0
Zhiyi Zhang : light.msstyles: Add more Button HiDPI images.
by Alexandre Julliard
23 Aug '21
23 Aug '21
Module: wine Branch: master Commit: db4604b4d58a98939c16af61c86dce24b5759c87 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=db4604b4d58a98939c16af61…
Author: Zhiyi Zhang <zzhang(a)codeweavers.com> Date: Mon Aug 23 12:08:17 2021 +0800 light.msstyles: Add more Button HiDPI images. Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/light.msstyles/Makefile.in | 13 ++++ dlls/light.msstyles/blue_checkbox_19px.bmp | Bin 0 -> 17466 bytes dlls/light.msstyles/blue_checkbox_19px.svg | 48 ++++++++++++ dlls/light.msstyles/blue_checkbox_22px.bmp | Bin 0 -> 23370 bytes dlls/light.msstyles/blue_checkbox_22px.svg | 50 +++++++++++++ dlls/light.msstyles/blue_checkbox_28px.bmp | Bin 0 -> 37770 bytes dlls/light.msstyles/blue_checkbox_28px.svg | 40 ++++++++++ dlls/light.msstyles/blue_checkbox_31px.bmp | Bin 0 -> 46266 bytes dlls/light.msstyles/blue_checkbox_31px.svg | 46 ++++++++++++ .../light.msstyles/blue_commandlink_glyph_37px.bmp | Bin 0 -> 27518 bytes .../light.msstyles/blue_commandlink_glyph_37px.svg | 19 +++++ .../light.msstyles/blue_commandlink_glyph_52px.bmp | Bin 0 -> 54218 bytes .../light.msstyles/blue_commandlink_glyph_52px.svg | 19 +++++ .../light.msstyles/blue_commandlink_glyph_60px.bmp | Bin 0 -> 72138 bytes .../light.msstyles/blue_commandlink_glyph_60px.svg | 19 +++++ .../light.msstyles/blue_commandlink_glyph_67px.bmp | Bin 0 -> 89918 bytes .../light.msstyles/blue_commandlink_glyph_67px.svg | 19 +++++ .../light.msstyles/blue_commandlink_glyph_75px.bmp | Bin 0 -> 112638 bytes .../light.msstyles/blue_commandlink_glyph_75px.svg | 19 +++++ dlls/light.msstyles/blue_radiobutton_19px.bmp | Bin 0 -> 11690 bytes dlls/light.msstyles/blue_radiobutton_19px.svg | 28 +++++++ dlls/light.msstyles/blue_radiobutton_22px.bmp | Bin 0 -> 15626 bytes dlls/light.msstyles/blue_radiobutton_22px.svg | 28 +++++++ dlls/light.msstyles/blue_radiobutton_28px.bmp | Bin 0 -> 25226 bytes dlls/light.msstyles/blue_radiobutton_28px.svg | 28 +++++++ dlls/light.msstyles/blue_radiobutton_31px.bmp | Bin 0 -> 30890 bytes dlls/light.msstyles/blue_radiobutton_31px.svg | 28 +++++++ dlls/light.msstyles/light.rc | 81 +++++++++++++++++++-- 28 files changed, 477 insertions(+), 8 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=db4604b4d58a98939c16…
1
0
0
0
Zebediah Figura : server: Remove a redundant NULL check for async->fd.
by Alexandre Julliard
23 Aug '21
23 Aug '21
Module: wine Branch: master Commit: d4b13ef9d63187d69c68e88ef7b67d61c2a3c50f URL:
https://source.winehq.org/git/wine.git/?a=commit;h=d4b13ef9d63187d69c68e88e…
Author: Zebediah Figura <zfigura(a)codeweavers.com> Date: Sat Aug 21 14:29:51 2021 -0500 server: Remove a redundant NULL check for async->fd. If the async has not been terminated yet, async->fd cannot be NULL. Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- server/async.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/async.c b/server/async.c index dbd4859edc4..442d98d8c7a 100644 --- a/server/async.c +++ b/server/async.c @@ -448,7 +448,7 @@ restart: LIST_FOR_EACH_ENTRY( async, &process->asyncs, struct async, process_entry ) { if (async->status != STATUS_PENDING) continue; - if ((!obj || (async->fd && get_fd_user( async->fd ) == obj)) && + if ((!obj || (get_fd_user( async->fd ) == obj)) && (!thread || async->thread == thread) && (!iosb || async->data.iosb == iosb)) {
1
0
0
0
Zebediah Figura : server: Remove support for waiting on an IRP object.
by Alexandre Julliard
23 Aug '21
23 Aug '21
Module: wine Branch: master Commit: 10ca57f4f56f86b433686afbdbe140ba54b239bb URL:
https://source.winehq.org/git/wine.git/?a=commit;h=10ca57f4f56f86b433686afb…
Author: Zebediah Figura <zfigura(a)codeweavers.com> Date: Sat Aug 21 14:29:50 2021 -0500 server: Remove support for waiting on an IRP object. This was initially used to let the client wait on IRP completion; c56c42ff79515a79b1913d31e21d6fecd7c11ef5 changed it to use the async handle instead. Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- server/device.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/server/device.c b/server/device.c index 6400751e339..b669921a003 100644 --- a/server/device.c +++ b/server/device.c @@ -57,7 +57,6 @@ struct irp_call }; static void irp_call_dump( struct object *obj, int verbose ); -static int irp_call_signaled( struct object *obj, struct wait_queue_entry *entry ); static void irp_call_destroy( struct object *obj ); static const struct object_ops irp_call_ops = @@ -65,10 +64,10 @@ static const struct object_ops irp_call_ops = sizeof(struct irp_call), /* size */ &no_type, /* type */ irp_call_dump, /* dump */ - add_queue, /* add_queue */ - remove_queue, /* remove_queue */ - irp_call_signaled, /* signaled */ - no_satisfied, /* satisfied */ + no_add_queue, /* add_queue */ + NULL, /* remove_queue */ + NULL, /* signaled */ + NULL, /* satisfied */ no_signal, /* signal */ no_get_fd, /* get_fd */ default_map_access, /* map_access */ @@ -335,13 +334,6 @@ static void irp_call_dump( struct object *obj, int verbose ) fprintf( stderr, "IRP call file=%p\n", irp->file ); } -static int irp_call_signaled( struct object *obj, struct wait_queue_entry *entry ) -{ - struct irp_call *irp = (struct irp_call *)obj; - - return !irp->file; /* file is cleared once the irp has completed */ -} - static void irp_call_destroy( struct object *obj ) { struct irp_call *irp = (struct irp_call *)obj; @@ -411,7 +403,6 @@ static void set_irp_result( struct irp_call *irp, unsigned int status, release_object( irp->async ); irp->async = NULL; } - wake_up( &irp->obj, 0 ); release_object( irp ); /* no longer on the device queue */ release_object( file );
1
0
0
0
Gerald Pfeifer : nsiproxy: Include netinet/in.h in udp.c.
by Alexandre Julliard
23 Aug '21
23 Aug '21
Module: wine Branch: master Commit: f153ce2dabcaad860c54c0580019054e6bf9dc26 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=f153ce2dabcaad860c54c058…
Author: Gerald Pfeifer <gerald(a)pfeifer.com> Date: Fri Aug 20 16:11:52 2021 +0200 nsiproxy: Include netinet/in.h in udp.c. This is necessary to define struct in_addr which is used by netinet/ip.h on FreeBSD. Signed-off-by: Gerald Pfeifer <gerald(a)pfeifer.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/nsiproxy.sys/udp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dlls/nsiproxy.sys/udp.c b/dlls/nsiproxy.sys/udp.c index 9f9966815c2..190eb7f21f5 100644 --- a/dlls/nsiproxy.sys/udp.c +++ b/dlls/nsiproxy.sys/udp.c @@ -38,6 +38,10 @@ #include <sys/socketvar.h> #endif +#ifdef HAVE_NETINET_IN_H +#include <netinet/in.h> +#endif + #ifdef HAVE_NETINET_IP_H #include <netinet/ip.h> #endif
1
0
0
0
Zebediah Figura : vkd3d-shader/hlsl: Write the SHDR token count.
by Alexandre Julliard
23 Aug '21
23 Aug '21
Module: vkd3d Branch: master Commit: 864e816de807de7ad5792e30673d9c86a8590126 URL:
https://source.winehq.org/git/vkd3d.git/?a=commit;h=864e816de807de7ad5792e3…
Author: Zebediah Figura <zfigura(a)codeweavers.com> Date: Thu Aug 19 18:44:32 2021 -0500 vkd3d-shader/hlsl: Write the SHDR token count. Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Matteo Bruni <mbruni(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- libs/vkd3d-shader/hlsl_sm4.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/vkd3d-shader/hlsl_sm4.c b/libs/vkd3d-shader/hlsl_sm4.c index 253aa24..1592767 100644 --- a/libs/vkd3d-shader/hlsl_sm4.c +++ b/libs/vkd3d-shader/hlsl_sm4.c @@ -791,6 +791,7 @@ static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc) struct vkd3d_bytecode_buffer buffer = {0}; const struct hlsl_buffer *cbuffer; const struct hlsl_ir_var *var; + size_t token_count_position; static const uint16_t shader_types[VKD3D_SHADER_TYPE_COUNT] = { @@ -806,7 +807,7 @@ static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc) }; put_u32(&buffer, vkd3d_make_u32((profile->major_version << 4) | profile->minor_version, shader_types[profile->type])); - put_u32(&buffer, 0); /* FIXME: instruction token count */ + token_count_position = put_u32(&buffer, 0); LIST_FOR_EACH_ENTRY(cbuffer, &ctx->buffers, struct hlsl_buffer, entry) { @@ -825,6 +826,8 @@ static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc) write_sm4_ret(&buffer); + set_u32(&buffer, token_count_position, bytecode_get_size(&buffer) / sizeof(uint32_t)); + dxbc_writer_add_section(dxbc, TAG_SHDR, buffer.data, buffer.size); }
1
0
0
0
Zebediah Figura : vkd3d-shader/hlsl: Write the SM4 ret instruction.
by Alexandre Julliard
23 Aug '21
23 Aug '21
Module: vkd3d Branch: master Commit: 636ec273817e9b58c2bf622230a893466deb60f1 URL:
https://source.winehq.org/git/vkd3d.git/?a=commit;h=636ec273817e9b58c2bf622…
Author: Zebediah Figura <zfigura(a)codeweavers.com> Date: Thu Aug 19 18:44:31 2021 -0500 vkd3d-shader/hlsl: Write the SM4 ret instruction. Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Matteo Bruni <mbruni(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- libs/vkd3d-shader/hlsl_sm4.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libs/vkd3d-shader/hlsl_sm4.c b/libs/vkd3d-shader/hlsl_sm4.c index a66bcaa..253aa24 100644 --- a/libs/vkd3d-shader/hlsl_sm4.c +++ b/libs/vkd3d-shader/hlsl_sm4.c @@ -775,6 +775,16 @@ static void write_sm4_dcl_temps(struct vkd3d_bytecode_buffer *buffer, uint32_t t write_sm4_instruction(buffer, &instr); } +static void write_sm4_ret(struct vkd3d_bytecode_buffer *buffer) +{ + struct sm4_instruction instr = + { + .opcode = VKD3D_SM4_OP_RET, + }; + + write_sm4_instruction(buffer, &instr); +} + static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc) { const struct hlsl_profile_info *profile = ctx->profile; @@ -813,6 +823,8 @@ static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc) if (ctx->temp_count) write_sm4_dcl_temps(&buffer, ctx->temp_count); + write_sm4_ret(&buffer); + dxbc_writer_add_section(dxbc, TAG_SHDR, buffer.data, buffer.size); }
1
0
0
0
Zebediah Figura : vkd3d-shader/hlsl: Write the SM4 dcl_temps instruction.
by Alexandre Julliard
23 Aug '21
23 Aug '21
Module: vkd3d Branch: master Commit: 40ec063a264bd2e65318c54fd67ed76b0adb1060 URL:
https://source.winehq.org/git/vkd3d.git/?a=commit;h=40ec063a264bd2e65318c54…
Author: Zebediah Figura <zfigura(a)codeweavers.com> Date: Thu Aug 19 18:44:30 2021 -0500 vkd3d-shader/hlsl: Write the SM4 dcl_temps instruction. Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Matteo Bruni <mbruni(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- libs/vkd3d-shader/hlsl.h | 1 + libs/vkd3d-shader/hlsl_codegen.c | 4 ++++ libs/vkd3d-shader/hlsl_sm4.c | 16 ++++++++++++++++ 3 files changed, 21 insertions(+) diff --git a/libs/vkd3d-shader/hlsl.h b/libs/vkd3d-shader/hlsl.h index 80cea51..9b579b7 100644 --- a/libs/vkd3d-shader/hlsl.h +++ b/libs/vkd3d-shader/hlsl.h @@ -469,6 +469,7 @@ struct hlsl_ctx struct hlsl_vec4 *values; size_t count, size; } constant_defs; + uint32_t temp_count; }; enum hlsl_error_level diff --git a/libs/vkd3d-shader/hlsl_codegen.c b/libs/vkd3d-shader/hlsl_codegen.c index a1d6e8e..c2aeb7b 100644 --- a/libs/vkd3d-shader/hlsl_codegen.c +++ b/libs/vkd3d-shader/hlsl_codegen.c @@ -685,6 +685,7 @@ static void compute_liveness(struct hlsl_ctx *ctx, struct hlsl_ir_function_decl struct liveness { size_t size; + uint32_t reg_count; struct { /* 0 if not live yet. */ @@ -747,6 +748,7 @@ static struct hlsl_reg allocate_register(struct hlsl_ctx *ctx, struct liveness * ret.id = component_idx / 4; ret.writemask = writemask; ret.allocated = true; + liveness->reg_count = max(liveness->reg_count, ret.id + 1); return ret; } @@ -782,6 +784,7 @@ static struct hlsl_reg allocate_range(struct hlsl_ctx *ctx, struct liveness *liv liveness->regs[component_idx + i].last_read = last_read; ret.id = component_idx / 4; ret.allocated = true; + liveness->reg_count = max(liveness->reg_count, ret.id + align(component_count, 4)); return ret; } @@ -1008,6 +1011,7 @@ static void allocate_temp_registers(struct hlsl_ctx *ctx, struct hlsl_ir_functio { struct liveness liveness = {0}; allocate_temp_registers_recurse(ctx, entry_func->body, &liveness); + ctx->temp_count = liveness.reg_count; } static void allocate_semantic_register(struct hlsl_ctx *ctx, struct hlsl_ir_var *var, unsigned int *counter, bool output) diff --git a/libs/vkd3d-shader/hlsl_sm4.c b/libs/vkd3d-shader/hlsl_sm4.c index 92f854c..a66bcaa 100644 --- a/libs/vkd3d-shader/hlsl_sm4.c +++ b/libs/vkd3d-shader/hlsl_sm4.c @@ -762,6 +762,19 @@ static void write_sm4_dcl_semantic(struct hlsl_ctx *ctx, struct vkd3d_bytecode_b write_sm4_instruction(buffer, &instr); } +static void write_sm4_dcl_temps(struct vkd3d_bytecode_buffer *buffer, uint32_t temp_count) +{ + struct sm4_instruction instr = + { + .opcode = VKD3D_SM4_OP_DCL_TEMPS, + + .idx = {temp_count}, + .idx_count = 1, + }; + + write_sm4_instruction(buffer, &instr); +} + static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc) { const struct hlsl_profile_info *profile = ctx->profile; @@ -797,6 +810,9 @@ static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc) write_sm4_dcl_semantic(ctx, &buffer, var); } + if (ctx->temp_count) + write_sm4_dcl_temps(&buffer, ctx->temp_count); + dxbc_writer_add_section(dxbc, TAG_SHDR, buffer.data, buffer.size); }
1
0
0
0
Zebediah Figura : vkd3d-shader/hlsl: Write SM4 semantic declarations.
by Alexandre Julliard
23 Aug '21
23 Aug '21
Module: vkd3d Branch: master Commit: 62456beedadb84a0e72c4c3230ced6d4d51b427d URL:
https://source.winehq.org/git/vkd3d.git/?a=commit;h=62456beedadb84a0e72c4c3…
Author: Zebediah Figura <zfigura(a)codeweavers.com> Date: Thu Aug 19 18:44:29 2021 -0500 vkd3d-shader/hlsl: Write SM4 semantic declarations. Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Matteo Bruni <mbruni(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- libs/vkd3d-shader/hlsl.h | 2 +- libs/vkd3d-shader/hlsl_codegen.c | 4 +- libs/vkd3d-shader/hlsl_sm4.c | 117 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 118 insertions(+), 5 deletions(-) diff --git a/libs/vkd3d-shader/hlsl.h b/libs/vkd3d-shader/hlsl.h index 9860ed7..80cea51 100644 --- a/libs/vkd3d-shader/hlsl.h +++ b/libs/vkd3d-shader/hlsl.h @@ -688,7 +688,7 @@ int hlsl_sm1_write(struct hlsl_ctx *ctx, struct hlsl_ir_function_decl *entry_fun bool hlsl_sm4_usage_from_semantic(struct hlsl_ctx *ctx, const struct hlsl_semantic *semantic, bool output, D3D_NAME *usage); bool hlsl_sm4_register_from_semantic(struct hlsl_ctx *ctx, const struct hlsl_semantic *semantic, - bool output, enum vkd3d_sm4_register_type *type, uint32_t *reg); + bool output, enum vkd3d_sm4_register_type *type, bool *has_idx); int hlsl_sm4_write(struct hlsl_ctx *ctx, struct hlsl_ir_function_decl *entry_func, struct vkd3d_shader_code *out); int hlsl_lexer_compile(struct hlsl_ctx *ctx, const struct vkd3d_shader_code *hlsl); diff --git a/libs/vkd3d-shader/hlsl_codegen.c b/libs/vkd3d-shader/hlsl_codegen.c index 939b356..a1d6e8e 100644 --- a/libs/vkd3d-shader/hlsl_codegen.c +++ b/libs/vkd3d-shader/hlsl_codegen.c @@ -1048,6 +1048,7 @@ static void allocate_semantic_register(struct hlsl_ctx *ctx, struct hlsl_ir_var else { D3D_NAME usage; + bool has_idx; if (!hlsl_sm4_usage_from_semantic(ctx, &var->semantic, output, &usage)) { @@ -1055,7 +1056,8 @@ static void allocate_semantic_register(struct hlsl_ctx *ctx, struct hlsl_ir_var "Invalid semantic '%s'.", var->semantic.name); return; } - builtin = hlsl_sm4_register_from_semantic(ctx, &var->semantic, output, &type, ®); + if ((builtin = hlsl_sm4_register_from_semantic(ctx, &var->semantic, output, &type, &has_idx))) + reg = has_idx ? var->semantic.index : 0; } if (builtin) diff --git a/libs/vkd3d-shader/hlsl_sm4.c b/libs/vkd3d-shader/hlsl_sm4.c index 029dc3d..92f854c 100644 --- a/libs/vkd3d-shader/hlsl_sm4.c +++ b/libs/vkd3d-shader/hlsl_sm4.c @@ -24,7 +24,7 @@ #include "sm4.h" bool hlsl_sm4_register_from_semantic(struct hlsl_ctx *ctx, const struct hlsl_semantic *semantic, - bool output, enum vkd3d_sm4_register_type *type, uint32_t *reg) + bool output, enum vkd3d_sm4_register_type *type, bool *has_idx) { unsigned int i; @@ -56,7 +56,7 @@ bool hlsl_sm4_register_from_semantic(struct hlsl_ctx *ctx, const struct hlsl_sem && ctx->profile->type == register_table[i].shader_type) { *type = register_table[i].type; - *reg = register_table[i].has_idx ? semantic->index : ~0u; + *has_idx = register_table[i].has_idx; return true; } } @@ -137,6 +137,7 @@ static void write_sm4_signature(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc, enum vkd3d_sm4_register_type type; uint32_t usage_idx, reg_idx; D3D_NAME usage; + bool has_idx; if ((output && !var->is_output_semantic) || (!output && !var->is_input_semantic)) continue; @@ -145,7 +146,11 @@ static void write_sm4_signature(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc, assert(ret); usage_idx = var->semantic.index; - if (!hlsl_sm4_register_from_semantic(ctx, &var->semantic, output, &type, ®_idx)) + if (hlsl_sm4_register_from_semantic(ctx, &var->semantic, output, &type, &has_idx)) + { + reg_idx = has_idx ? var->semantic.index : ~0u; + } + else { assert(var->reg.allocated); type = VKD3D_SM4_RT_INPUT; @@ -574,6 +579,9 @@ struct sm4_instruction } srcs[2]; unsigned int src_count; + uint32_t idx[2]; + unsigned int idx_count; + unsigned int has_dst; }; @@ -582,6 +590,7 @@ static unsigned int sm4_swizzle_type(enum vkd3d_sm4_register_type type) switch (type) { case VKD3D_SM4_RT_CONSTBUFFER: + case VKD3D_SM4_RT_INPUT: return VKD3D_SM4_SWIZZLE_VEC4; default: @@ -615,6 +624,7 @@ static void write_sm4_instruction(struct vkd3d_bytecode_buffer *buffer, const st size += sm4_register_order(&instr->dst.reg); for (i = 0; i < instr->src_count; ++i) size += sm4_register_order(&instr->srcs[i].reg); + size += instr->idx_count; token |= (size << VKD3D_SM4_INSTRUCTION_LENGTH_SHIFT); put_u32(buffer, token); @@ -640,6 +650,9 @@ static void write_sm4_instruction(struct vkd3d_bytecode_buffer *buffer, const st for (j = 0; j < instr->srcs[i].reg.idx_count; ++j) put_u32(buffer, instr->srcs[i].reg.idx[j]); } + + for (j = 0; j < instr->idx_count; ++j) + put_u32(buffer, instr->idx[j]); } static void write_sm4_dcl_constant_buffer(struct vkd3d_bytecode_buffer *buffer, const struct hlsl_buffer *cbuffer) @@ -658,11 +671,103 @@ static void write_sm4_dcl_constant_buffer(struct vkd3d_bytecode_buffer *buffer, write_sm4_instruction(buffer, &instr); } +static void write_sm4_dcl_semantic(struct hlsl_ctx *ctx, struct vkd3d_bytecode_buffer *buffer, const struct hlsl_ir_var *var) +{ + const struct hlsl_profile_info *profile = ctx->profile; + const bool output = var->is_output_semantic; + D3D_NAME usage; + bool has_idx; + + struct sm4_instruction instr = + { + .dst.reg.dim = VKD3D_SM4_DIMENSION_VEC4, + .has_dst = 1, + }; + + if (hlsl_sm4_register_from_semantic(ctx, &var->semantic, output, &instr.dst.reg.type, &has_idx)) + { + if (has_idx) + { + instr.dst.reg.idx[0] = var->semantic.index; + instr.dst.reg.idx_count = 1; + } + else + { + instr.dst.reg.idx_count = 0; + } + instr.dst.writemask = (1 << var->data_type->dimx) - 1; + } + else + { + instr.dst.reg.type = output ? VKD3D_SM4_RT_OUTPUT : VKD3D_SM4_RT_INPUT; + instr.dst.reg.idx[0] = var->reg.id; + instr.dst.reg.idx_count = 1; + instr.dst.writemask = var->reg.writemask; + } + + if (instr.dst.reg.type == VKD3D_SM4_RT_DEPTHOUT) + instr.dst.reg.dim = VKD3D_SM4_DIMENSION_SCALAR; + + hlsl_sm4_usage_from_semantic(ctx, &var->semantic, output, &usage); + + if (var->is_input_semantic) + { + switch (usage) + { + case D3D_NAME_UNDEFINED: + instr.opcode = (profile->type == VKD3D_SHADER_TYPE_PIXEL) + ? VKD3D_SM4_OP_DCL_INPUT_PS : VKD3D_SM4_OP_DCL_INPUT; + break; + + case D3D_NAME_INSTANCE_ID: + case D3D_NAME_PRIMITIVE_ID: + case D3D_NAME_VERTEX_ID: + instr.opcode = (profile->type == VKD3D_SHADER_TYPE_PIXEL) + ? VKD3D_SM4_OP_DCL_INPUT_PS_SGV : VKD3D_SM4_OP_DCL_INPUT_SGV; + break; + + default: + instr.opcode = (profile->type == VKD3D_SHADER_TYPE_PIXEL) + ? VKD3D_SM4_OP_DCL_INPUT_PS_SIV : VKD3D_SM4_OP_DCL_INPUT_SIV; + break; + } + + if (profile->type == VKD3D_SHADER_TYPE_PIXEL) + instr.opcode |= VKD3DSIM_LINEAR << VKD3D_SM4_INTERPOLATION_MODE_SHIFT; + } + else + { + if (usage == D3D_NAME_UNDEFINED || profile->type == VKD3D_SHADER_TYPE_PIXEL) + instr.opcode = VKD3D_SM4_OP_DCL_OUTPUT; + else + instr.opcode = VKD3D_SM4_OP_DCL_OUTPUT_SIV; + } + + switch (usage) + { + case D3D_NAME_COVERAGE: + case D3D_NAME_DEPTH: + case D3D_NAME_DEPTH_GREATER_EQUAL: + case D3D_NAME_DEPTH_LESS_EQUAL: + case D3D_NAME_TARGET: + case D3D_NAME_UNDEFINED: + break; + + default: + instr.idx_count = 1; + instr.idx[0] = usage; + break; + } + + write_sm4_instruction(buffer, &instr); +} + static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc) { const struct hlsl_profile_info *profile = ctx->profile; struct vkd3d_bytecode_buffer buffer = {0}; const struct hlsl_buffer *cbuffer; + const struct hlsl_ir_var *var; static const uint16_t shader_types[VKD3D_SHADER_TYPE_COUNT] = { @@ -686,6 +791,12 @@ static void write_sm4_shdr(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc) write_sm4_dcl_constant_buffer(&buffer, cbuffer); } + LIST_FOR_EACH_ENTRY(var, &ctx->extern_vars, struct hlsl_ir_var, extern_entry) + { + if ((var->is_input_semantic && var->last_read) || (var->is_output_semantic && var->first_write)) + write_sm4_dcl_semantic(ctx, &buffer, var); + } + dxbc_writer_add_section(dxbc, TAG_SHDR, buffer.data, buffer.size); }
1
0
0
0
← Newer
1
...
35
36
37
38
39
40
41
...
106
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
Results per page:
10
25
50
100
200