Lines Matching refs:val

91 get_validator_version(IDxcValidator *val)
94 if (FAILED(val->QueryInterface(version_info.ReleaseAndGetAddressOf())))
168 struct dxil_validator *val = rzalloc(ctx, struct dxil_validator);
169 if (!val)
175 val->dxil_mod = load_dxil_mod();
176 if (!val->dxil_mod) {
184 val->dxc_validator = create_dxc_validator(val->dxil_mod);
185 if (!val->dxc_validator)
188 val->version = get_filtered_validator_version(
189 val->dxil_mod,
190 get_validator_version(val->dxc_validator));
196 val->dxcompiler_mod = LoadLibraryA("dxcompiler.dll");
197 if (val->dxcompiler_mod) {
205 (DxcCreateInstanceProc)GetProcAddress(val->dxcompiler_mod,
212 IID_PPV_ARGS(&val->dxc_library))))
216 IID_PPV_ARGS(&val->dxc_compiler))))
221 return val;
224 if (val->dxil_mod)
225 FreeLibrary(val->dxil_mod);
227 ralloc_free(val);
232 dxil_destroy_validator(struct dxil_validator *val)
235 val->dxc_validator->Release();
236 FreeLibrary(val->dxil_mod);
238 if (val->dxcompiler_mod) {
239 if (val->dxc_library)
240 val->dxc_library->Release();
242 if (val->dxc_compiler)
243 val->dxc_compiler->Release();
245 FreeLibrary(val->dxcompiler_mod);
248 ralloc_free(val);
294 dxil_validate_module(struct dxil_validator *val, void *data, size_t size, char **error)
299 val->dxc_validator->Validate(&source, DxcValidatorFlags_InPlaceEdit,
308 if (!val->dxc_library) {
318 else if (FAILED(val->dxc_library->GetBlobAsUtf8(blob.Get(),
324 *error = ralloc_strdup(val, str);
332 dxil_disasm_module(struct dxil_validator *val, void *data, size_t size)
334 if (!val->dxc_compiler || !val->dxc_library) {
343 if (FAILED(val->dxc_compiler->Disassemble(&source, &blob))) {
348 if (FAILED(val->dxc_library->GetBlobAsUtf8(blob.Get(), blob_utf8.GetAddressOf()))) {
355 return ralloc_strdup(val, str);
359 dxil_get_validator_version(struct dxil_validator *val)
361 return val->version;