[PATCH v2 1/5] d3dcompiler: Store a pointer to the bwriter_shader structure inside the bc_writer structure.
Matteo Bruni
matteo.mystral at gmail.com
Wed Mar 25 16:24:59 CDT 2020
On Wed, Mar 25, 2020 at 1:19 AM Zebediah Figura <z.figura12 at gmail.com> wrote:
>
> Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
> ---
> v2: fix some version checks
>
> dlls/d3dcompiler_43/bytecodewriter.c | 30 ++++++++++++++---------
> dlls/d3dcompiler_43/d3dcompiler_private.h | 3 +--
> 2 files changed, 20 insertions(+), 13 deletions(-)
>
> diff --git a/dlls/d3dcompiler_43/bytecodewriter.c b/dlls/d3dcompiler_43/bytecodewriter.c
> index 8b016cd6201..35bd6669ef9 100644
> --- a/dlls/d3dcompiler_43/bytecodewriter.c
> +++ b/dlls/d3dcompiler_43/bytecodewriter.c
> @@ -939,7 +939,8 @@ static void vs_12_dstreg(struct bc_writer *This, const struct shader_reg *reg,
> break;
>
> case BWRITERSPR_PREDICATE:
> - if(This->version != BWRITERVS_VERSION(2, 1)){
> + if (This->shader->major_version != 2 || This->shader->minor_version != 1)
> + {
> WARN("Predicate register is allowed only in vs_2_x\n");
> This->state = E_INVALIDARG;
> return;
> @@ -1634,7 +1635,8 @@ static void vs_2_srcreg(struct bc_writer *This,
> break;
>
> case BWRITERSPR_PREDICATE:
> - if(This->version != BWRITERVS_VERSION(2, 1)){
> + if (This->shader->major_version != 2 || This->shader->minor_version != 1)
> + {
> WARN("Predicate register is allowed only in vs_2_x\n");
> This->state = E_INVALIDARG;
> return;
For this one the major version check should be unnecessary since it's
only used for vs_2_0 and vs_2_x. It's okay though.
Also nice that you simplified most of the checks below.
More information about the wine-devel
mailing list