https://gist.github.com/rygorous/7936047

编shader的时候遇到这个warning不知道是不是什么隐患。。从今天开始要做新项目了

尝试从同事那里要了这dll 拿得x86版本的(我也不知道为什么 )再编就没有这个warning了 但是后来又出现了

我把dll换成x64也还是有这个warining,,,不理它了 有可能是我把shader的profile换成vs4.0的缘故,或者。。。。某种未知原因

我换vs4.0是因为 遇到一个error 说

Unable to compile vertex shader - profile not supported

通过跟代码发现shaderprofile 如果是vs5.0那么需要D3D feature level >=11.1

如果是vs4.0那么需要D3D feature level >=10.1

所以我把所有的shader改成vs4.0 ps4.0这样这个profile not supproted的error没有了

又往下跑了一段距离 报了一个warining 一个error

大概意思是stream0太小和vs到ps的postion有问题 ,这确实是编译shader的时候遇到的问题

一个叫postion的semantic 不知道该怎么改之前ps4和d3d两次编译的时候 这个semantic是替换成s_position

现在这完全解释不通,因为s_positon是pssl里面的,而postion这个semantic也是存在的,这样以前的d3dcompiler是怎么编译过的呢

我看了下msdn的docs

尝试修改下position

根据文档vs用position vs到ps 用vpos 在d3d10之前

EXECUTION WARNING #355: DEVICE_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL

EXECUTION ERROR #362: DEVICE_DRAW_POSITION_NOT_PRESENT

做了第一步修改之后 就是把position改成vpos 那个warning消失了

error还在,也就是说,这个ps的error和vs那个warining不是因果关系。。。。。

error描述是ps并不为空但是position is not provided by the last shader before the rasterization unit

这这个意思 还是vs到ps的semantic的问题

这个error终于解决了 就是SV_POSITION 这个semantic的问题

很重要的一点是vs的semantic仍然是POSITION

但是vs到ps需要用SV_POSITION

EXECUTION ERROR #362: DEVICE_DRAW_POSITION_NOT_PRESENT

that is it

有个关键词 shader porting

load d3dcompiler_46.dll failed的更多相关文章

  1. win2008server R2 x64 部署.net core到IIS上出现【Failed to load the dll from [C:\Program Files\dotnet\host\fxr\1.0.1\hostfxr.dll], HRESULT: 0x80070057】错误

    win2008server R2 x64 部署.net core到IIS上出现[Failed to load the dll from [C:\Program Files\dotnet\host\fx ...

  2. windows server 2008 应用程序池自动关闭 C:\Windows\system32\RpcProxy\RpcProxy.dll failed to load

    Sign In Join Search IIS Home Downloads Learn Reference Solutions Blogs Forums HomeIIS.NET Forums64-b ...

  3. IIS "rewrite.dll failed to load. The data is the error." 错误解决方法

    在Windows 10 build 17133.73上部署一个较老版本的ASP.NET 2.0程序,访问时候出现: Service Unavailable HTTP Error 503. The se ...

  4. PHPStorm启动问题--Failed to load JVM DLL

    一.问题 启动PHPStorm时突然遇到PHPStorm无法启动的问题,提示:Failed to load JVM DLL,如图所示:

  5. 安装完Pycharm,启动时碰到"failed to load jvm dll"的解决方案

    今天安装完系统,配置pycharm的环境的时候,启动pycharm时,碰到"failed to load jvm dll"的错误, 下面给出其解决方案: 安装Microsoft V ...

  6. WebStorm 启动时提示Failed to load JVM DLL

    环境:win7 64位:时间:2019-11-18 问题描述 启动webstorm 时提示failed to load JVM DLL 解决方法 启动时快捷方式要选到64位的exe

  7. dotnet部署出现Failed to load the dll from [ ... hostfxr.dll], HRESULT: 0x80070057

    起因 最近看到.net core 3支持wpf了,尝试一下(如果可行,会特别利于脱离.net运行时) dotnet new wpf dotnet publish -c Release -r win-x ...

  8. Torch 7 load saved model failed, 加载保存的模型失败

    Torch 7 load saved model failed, 加载保存的模型失败: 可以尝试下面的解决方案:  

  9. System.load(PWConnector.dll)加载异常 Can't find dependent libraries

    System.load(PWConnector.dll)加载异常 Can't find dependent libraries 错误信息:D:\PWAdapter\PWConnector.dll: C ...

随机推荐

  1. .NET软件汉化小实例

    Author:KillerLegend Date:2014.6.18 From:http://www.cnblogs.com/killerlegend/p/3795577.html 好的,今天我们来汉 ...

  2. 傅里叶变换 fft_generic halcon

    傅立叶变换(FT, Fourier Transform)的作用是将一个信号由时域变换到频域.其实就是把数据由横坐标时间.纵坐标采样值的波形图格式,转换为横坐标频率.纵坐标振幅(或相位)的频谱格式.变换 ...

  3. 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)

    原文出处:新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows) 这是我的文章备份  http://www.dotblogs.com.tw/ ...

  4. Oracle获取表结构信息:表名、是否视图、字段名、类型、长度、非空、主键

    select a.TABLE_NAME as "TableName", then 'V' else 'U'end as "TableType", a.COLUM ...

  5. 成为JAVA GC专家系列

    http://www.360doc.com/content/13/0305/10/15643_269387617.shtmlhttp://www.360doc.com/content/13/0305/ ...

  6. 第十二章 管理类型(In .net4.5) 之 操作字符串

    1. 概述 本章包括 字符串基本操作 以及 查找.遍历.格式化字符串. 2. 主要内容 2.1 在.net平台中使用字符串 C#中,string是用来保存文本信息的.是一个被当做值类型使用的引用类型. ...

  7. 【J2EE】struts-2.3.16.3+apache-tomcat-8.0.9开发环境部署,“Hello World”的实现。

    1.在官网下载Struts2的开发包 下载链接如下: http://120.203.229.30/5ff/2bc79/5ff16ae8698e1c321758a8f03a1bc0939892bc79/ ...

  8. wpa_supplicant软件架构分析

    wpa_supplicant软件架构分析 1. 启动命令 wpa supplicant 在启动时,启动命令可以带有很多参数,目前我们的启动命令如下: wpa_supplicant /system/bi ...

  9. Go语言中如何写Get和Set方法

    首先我们要知道,在Go中方法名首字母大写是要导出的方法(也就是公有方法,public),而小写则是不导出的方法(私有的,private). Go官方不提供对Get.Set方法的自动支持.对是否设置Ge ...

  10. .net(C#)操作文件的几种方法汇总

    .net(C#)操作文件的几种方法汇总 System.IO命名空间下类的用法:在System.IO名称空间中包含了用于文件输入输出的主要类.File:实用类,提供许多静态方法,用于移动.复制和删除文件 ...