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. 使用MySQL数据库

    登录到MySQL 当 MySQL 服务已经运行时, 我们可以通过MySQL自带的客户端工具登录到MySQL数据库中, 首先打开命令提示符, 输入以下格式的命名: mysql -h 主机名 -u 用户名 ...

  2. C++ string 转 char*

    string 转到 char* char name[20]; string sname=GatherName[n]; strcpy(name,sname.c_str());

  3. centos彻底删除mysql

    yum remove mysql mysql-server mysql-libs compat-mysql51rm -rf /var/lib/mysqlrm /etc/my.cnf查看是否还有mysq ...

  4. Oracle sql trace

    一.SQL_TRACE说明 1.1.在全局启用 在参数文件(pfile/spfile)中指定:sql_trace =true 1.2.在当前session级设置 启用当前session的跟踪: alt ...

  5. java基本概念

    什么是环境变量? 环境变量通常是指在操作系统当中,用来指定操作系统运行时需要的一些参数.通常为一系列的键值对. path环境变量的作用 path环境变量是操作系统外部命令搜索路径 什么是外部命令搜索路 ...

  6. Mysql允许外网接入

    首先你可以为mysql创建一个账户,或者为root用户接入数据库. 授权用户指定所有主机以指定用户连接服务器 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDE ...

  7. swoole 异步队列

    安装步骤如下(推荐把安装文件下载到 /usr/local/src 目录下): step 1: wget --no-check-certificate https://github.com/swoole ...

  8. 不靠谱的Paypal及海外网站

    昨天因为报名参加某个比赛,需要用到Paypal付款,整整折腾了我一个小时.我先是使用自己的银行储蓄卡,到最后一步需要银行确认,提示我需要安装个插件才能输入密码.安装完插件后需要重启浏览器,整个流程又要 ...

  9. pb中sql语句用to_char查询出来数据,居然无法检索出数据,oracle数据库,这是什么原因?

    /*这样dw_modified总是无法检索出正确的结果*/ ') into :is_recoder_old_sn from emra03 where szybh01 = :as_pat_id and ...

  10. JAVA类与对象(五)----对象的生成、使用

    对象的生成 创建一个对象包括对象的声明.实例化.初始化三部分. 1.声明-----类名对象名 声明并不是为对象分配内存空间,而只是分配一个引用空间.对象的引用类似于指针,是32位的地址空间,它的值指向 ...