Beispiel #1
0
u32 ProgramBuffer::GetProg(u32 fp, u32 vp) const
{
	if(fp == vp) return m_buf[fp].prog_id;

	for(u32 i=0; i<m_buf.GetCount(); ++i)
	{
		if(i == fp || i == vp) continue;

		if(CmpVP(vp, i) && CmpFP(fp, i))
		{
			ConLog.Write("Get program (%d):", i);
			ConLog.Write("*** prog id = %d", m_buf[i].prog_id);
			ConLog.Write("*** vp id = %d", m_buf[i].vp_id);
			ConLog.Write("*** fp id = %d", m_buf[i].fp_id);

			ConLog.Write("*** vp shader = %s\n", m_buf[i].vp_shader);
			ConLog.Write("*** fp shader = %s\n", m_buf[i].fp_shader);
			return m_buf[i].prog_id;
		}
	}

	return 0;
}
Beispiel #2
0
u32 GLProgramBuffer::GetProg(u32 fp, u32 vp) const
{
	if(fp == vp)
	{
		/*
		LOG_NOTICE(RSX, "Get program (%d):", fp);
		LOG_NOTICE(RSX, "*** prog id = %d", m_buf[fp].prog_id);
		LOG_NOTICE(RSX, "*** vp id = %d", m_buf[fp].vp_id);
		LOG_NOTICE(RSX, "*** fp id = %d", m_buf[fp].fp_id);

		LOG_NOTICE(RSX, "*** vp shader = \n%s", m_buf[fp].vp_shader.wx_str());
		LOG_NOTICE(RSX, "*** fp shader = \n%s", m_buf[fp].fp_shader.wx_str());
		*/
		return m_buf[fp].prog_id;
	}

	for(u32 i=0; i<m_buf.size(); ++i)
	{
		if(i == fp || i == vp) continue;

		if(CmpVP(vp, i) && CmpFP(fp, i))
		{
			/*
			LOG_NOTICE(RSX, "Get program (%d):", i);
			LOG_NOTICE(RSX, "*** prog id = %d", m_buf[i].prog_id);
			LOG_NOTICE(RSX, "*** vp id = %d", m_buf[i].vp_id);
			LOG_NOTICE(RSX, "*** fp id = %d", m_buf[i].fp_id);

			LOG_NOTICE(RSX, "*** vp shader = \n%s", m_buf[i].vp_shader.wx_str());
			LOG_NOTICE(RSX, "*** fp shader = \n%s", m_buf[i].fp_shader.wx_str());
			*/
			return m_buf[i].prog_id;
		}
	}

	return 0;
}