From: Matteo Bruni Subject: Re: [PATCH 4/4] d3d10: Add ID3D10EffectShaderResourceVariable tests. Message-Id: Date: Wed, 25 Mar 2020 22:32:21 +0100 In-Reply-To: <20200325181629.25837-4-conmanx360@gmail.com> References: <20200325181629.25837-1-conmanx360@gmail.com> <20200325181629.25837-4-conmanx360@gmail.com> On Wed, Mar 25, 2020 at 7:17 PM Connor McAdams wrote: > + hr = ID3D10Device_CreateTexture2D(device, &tex_desc, NULL, tex); > + ok(SUCCEEDED(hr), "Failed to create a 2D texture, hr %#x.\n", hr); > + hr = ID3D10Device_CreateShaderResourceView(device, (ID3D10Resource *)*tex, NULL, srv); > + ok(SUCCEEDED(hr), "Failed to create a shader resource view, hr %#x.\n", hr); Please use the same style as the previous tests: ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); > +} > + > +static void get_effect_shader_resource_variable(ID3D10EffectVariable *var, > + ID3D10EffectShaderResourceVariable **srv) > +{ > + D3D10_EFFECT_TYPE_DESC type_desc; > + ID3D10EffectType *type; > + HRESULT hr; > + > + type = var->lpVtbl->GetType(var); > + hr = type->lpVtbl->GetDesc(type, &type_desc); > + ok(SUCCEEDED(hr), "GetDesc failed (%x).\n", hr); Same. > + ok(type_desc.Type == D3D10_SVT_TEXTURE2D, "Type is %x, expected %x.\n", type_desc.Type, D3D10_SVT_TEXTURE2D); > + *srv = var->lpVtbl->AsShaderResource(var); > +} > + > +static void test_effect_resource_variable(void) > +{ > + ID3D10ShaderResourceView *srv0, *srv_a[2], *srv_tmp[2]; > + ID3D10EffectShaderResourceVariable *t0, *t_a, *t_a_0; > + ID3D10EffectTechnique *technique; > + ID3D10Texture2D *tex0, *tex_a[2]; > + ID3D10EffectVariable *var; > + ID3D10EffectPass *pass; > + ID3D10Device *device; > + ID3D10Effect *effect; > + unsigned int i; > + ULONG refcount; > + HRESULT hr; > + > + if (!(device = create_device())) > + { > + skip("Failed to create device, skipping tests.\n"); > + return; > + } > + > + hr = create_effect(fx_test_resource_variable, 0, device, NULL, &effect); > + ok(SUCCEEDED(hr), "D3D10CreateEffectFromMemory failed (%x).\n", hr); > + > + var = effect->lpVtbl->GetVariableByName(effect, "t0"); > + get_effect_shader_resource_variable(var, &t0); > + create_effect_texture_resource(device, &srv0, &tex0); > + hr = t0->lpVtbl->SetResource(t0, srv0); > + ok(hr == S_OK, "Failed to SetResource, hr %#x.\n", hr); Same, here and elsewhere below.