mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-14 10:36:43 +00:00
Send sampler information through to GL pipeline state for display
This commit is contained in:
@@ -74,6 +74,27 @@ struct GLPipelineState
|
||||
uint32_t FirstSlice;
|
||||
};
|
||||
rdctype::array<Texture> Textures;
|
||||
|
||||
struct Sampler
|
||||
{
|
||||
Sampler()
|
||||
: Samp(), MaxAniso(0.0f), MaxLOD(0.0f), MinLOD(0.0f), MipLODBias(0.0f)
|
||||
, UseBorder(false), UseComparison(false)
|
||||
{ BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 0.0f; }
|
||||
ResourceId Samp;
|
||||
rdctype::str AddressS, AddressT, AddressR;
|
||||
float BorderColor[4];
|
||||
rdctype::str Comparison;
|
||||
rdctype::str MinFilter;
|
||||
rdctype::str MagFilter;
|
||||
bool32 UseBorder;
|
||||
bool32 UseComparison;
|
||||
float MaxAniso;
|
||||
float MaxLOD;
|
||||
float MinLOD;
|
||||
float MipLODBias;
|
||||
};
|
||||
rdctype::array<Sampler> Samplers;
|
||||
|
||||
struct Buffer
|
||||
{
|
||||
|
||||
@@ -452,30 +452,30 @@ const char *BlendString(GLenum blendenum)
|
||||
{
|
||||
switch(blendenum)
|
||||
{
|
||||
case GL_FUNC_ADD: return "ADD";
|
||||
case GL_FUNC_SUBTRACT: return "SUBTRACT";
|
||||
case GL_FUNC_REVERSE_SUBTRACT: return "INV_SUBTRACT";
|
||||
case GL_MIN: return "MIN";
|
||||
case GL_MAX: return "MAX";
|
||||
case GL_ZERO: return "ZERO";
|
||||
case GL_ONE: return "ONE";
|
||||
case GL_SRC_COLOR: return "SRC_COLOR";
|
||||
case GL_ONE_MINUS_SRC_COLOR: return "INV_SRC_COLOR";
|
||||
case GL_DST_COLOR: return "DST_COLOR";
|
||||
case GL_ONE_MINUS_DST_COLOR: return "INV_DST_COLOR";
|
||||
case GL_SRC_ALPHA: return "SRC_ALPHA";
|
||||
case GL_ONE_MINUS_SRC_ALPHA: return "INV_SRC_ALPHA";
|
||||
case GL_DST_ALPHA: return "DST_ALPHA";
|
||||
case GL_ONE_MINUS_DST_ALPHA: return "INV_DST_ALPHA";
|
||||
case GL_CONSTANT_COLOR: return "CONST_COLOR";
|
||||
case GL_ONE_MINUS_CONSTANT_COLOR: return "INV_CONST_COLOR";
|
||||
case GL_CONSTANT_ALPHA: return "CONST_ALPHA";
|
||||
case GL_ONE_MINUS_CONSTANT_ALPHA: return "INV_CONST_ALPHA";
|
||||
case GL_SRC_ALPHA_SATURATE: return "SRC_ALPHA_SAT";
|
||||
case GL_SRC1_COLOR: return "SRC1_COL";
|
||||
case GL_ONE_MINUS_SRC1_COLOR: return "INV_SRC1_COL";
|
||||
case GL_SRC1_ALPHA: return "SRC1_ALPHA";
|
||||
case GL_ONE_MINUS_SRC1_ALPHA: return "INV_SRC1_ALPHA";
|
||||
case eGL_FUNC_ADD: return "ADD";
|
||||
case eGL_FUNC_SUBTRACT: return "SUBTRACT";
|
||||
case eGL_FUNC_REVERSE_SUBTRACT: return "INV_SUBTRACT";
|
||||
case eGL_MIN: return "MIN";
|
||||
case eGL_MAX: return "MAX";
|
||||
case GL_ZERO: return "ZERO";
|
||||
case GL_ONE: return "ONE";
|
||||
case eGL_SRC_COLOR: return "SRC_COLOR";
|
||||
case eGL_ONE_MINUS_SRC_COLOR: return "INV_SRC_COLOR";
|
||||
case eGL_DST_COLOR: return "DST_COLOR";
|
||||
case eGL_ONE_MINUS_DST_COLOR: return "INV_DST_COLOR";
|
||||
case eGL_SRC_ALPHA: return "SRC_ALPHA";
|
||||
case eGL_ONE_MINUS_SRC_ALPHA: return "INV_SRC_ALPHA";
|
||||
case eGL_DST_ALPHA: return "DST_ALPHA";
|
||||
case eGL_ONE_MINUS_DST_ALPHA: return "INV_DST_ALPHA";
|
||||
case eGL_CONSTANT_COLOR: return "CONST_COLOR";
|
||||
case eGL_ONE_MINUS_CONSTANT_COLOR: return "INV_CONST_COLOR";
|
||||
case eGL_CONSTANT_ALPHA: return "CONST_ALPHA";
|
||||
case eGL_ONE_MINUS_CONSTANT_ALPHA: return "INV_CONST_ALPHA";
|
||||
case eGL_SRC_ALPHA_SATURATE: return "SRC_ALPHA_SAT";
|
||||
case eGL_SRC1_COLOR: return "SRC1_COL";
|
||||
case eGL_ONE_MINUS_SRC1_COLOR: return "INV_SRC1_COL";
|
||||
case eGL_SRC1_ALPHA: return "SRC1_ALPHA";
|
||||
case eGL_ONE_MINUS_SRC1_ALPHA: return "INV_SRC1_ALPHA";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -487,6 +487,33 @@ const char *BlendString(GLenum blendenum)
|
||||
return unknown.c_str();
|
||||
}
|
||||
|
||||
const char *SamplerString(GLenum smpenum)
|
||||
{
|
||||
switch(smpenum)
|
||||
{
|
||||
case eGL_NONE: return "NONE";
|
||||
case eGL_NEAREST: return "NEAREST";
|
||||
case eGL_LINEAR: return "LINEAR";
|
||||
case eGL_NEAREST_MIPMAP_NEAREST: return "NEAREST_MIP_NEAREST";
|
||||
case eGL_LINEAR_MIPMAP_NEAREST: return "LINEAR_MIP_NEAREST";
|
||||
case eGL_NEAREST_MIPMAP_LINEAR: return "NEAREST_MIP_LINEAR";
|
||||
case eGL_LINEAR_MIPMAP_LINEAR: return "LINEAR_MIP_LINEAR";
|
||||
case eGL_CLAMP_TO_EDGE: return "CLAMP_EDGE";
|
||||
case eGL_MIRRORED_REPEAT: return "MIRR_REPEAT";
|
||||
case eGL_REPEAT: return "REPEAT";
|
||||
case eGL_MIRROR_CLAMP_TO_EDGE: return "MIRR_CLAMP_EDGE";
|
||||
case eGL_CLAMP_TO_BORDER: return "CLAMP_BORDER";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
static string unknown = ToStr::Get(smpenum).substr(3); // 3 = strlen("GL_");
|
||||
|
||||
RDCERR("Unknown blend enum: %s", unknown.c_str());
|
||||
|
||||
return unknown.c_str();
|
||||
}
|
||||
|
||||
ResourceFormat MakeResourceFormat(WrappedOpenGL &gl, GLenum target, GLenum fmt)
|
||||
{
|
||||
ResourceFormat ret;
|
||||
|
||||
@@ -88,6 +88,7 @@ ResourceFormat MakeResourceFormat(WrappedOpenGL &gl, GLenum target, GLenum fmt);
|
||||
GLenum MakeGLFormat(WrappedOpenGL &gl, GLenum target, ResourceFormat fmt);
|
||||
PrimitiveTopology MakePrimitiveTopology(const GLHookSet &gl, GLenum Topo);
|
||||
const char *BlendString(GLenum blendenum);
|
||||
const char *SamplerString(GLenum smpenum);
|
||||
|
||||
GLuint GetBoundVertexBuffer(const GLHookSet &gl, GLuint idx);
|
||||
|
||||
|
||||
@@ -1018,6 +1018,7 @@ void GLReplay::SavePipelineState()
|
||||
GLint numTexUnits = 8;
|
||||
gl.glGetIntegerv(eGL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &numTexUnits);
|
||||
create_array_uninit(pipe.Textures, numTexUnits);
|
||||
create_array_uninit(pipe.Samplers, numTexUnits);
|
||||
|
||||
GLenum activeTexture = eGL_TEXTURE0;
|
||||
gl.glGetIntegerv(eGL_ACTIVE_TEXTURE, (GLint*)&activeTexture);
|
||||
@@ -1059,8 +1060,8 @@ void GLReplay::SavePipelineState()
|
||||
{
|
||||
for(GLint unit=0; unit < numTexUnits; unit++)
|
||||
{
|
||||
pipe.Textures[unit].FirstSlice = 0;
|
||||
pipe.Textures[unit].Resource = ResourceId();
|
||||
RDCEraseEl(pipe.Textures[unit]);
|
||||
RDCEraseEl(pipe.Samplers[unit]);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1121,6 +1122,8 @@ void GLReplay::SavePipelineState()
|
||||
GLenum binding = eGL_NONE;
|
||||
GLenum target = eGL_NONE;
|
||||
|
||||
bool shadow = false;
|
||||
|
||||
for(size_t s=0; s < ARRAY_COUNT(refls); s++)
|
||||
{
|
||||
if(refls[s] == NULL) continue;
|
||||
@@ -1132,6 +1135,9 @@ void GLReplay::SavePipelineState()
|
||||
{
|
||||
GLenum t = eGL_NONE;
|
||||
|
||||
if(strstr(refls[s]->Resources[r].variableType.descriptor.name.elems, "Shadow"))
|
||||
shadow = true;
|
||||
|
||||
switch(refls[s]->Resources[r].resType)
|
||||
{
|
||||
case eResType_None:
|
||||
@@ -1207,6 +1213,74 @@ void GLReplay::SavePipelineState()
|
||||
|
||||
pipe.Textures[unit].Resource = rm->GetOriginalID(rm->GetID(TextureRes(ctx, tex)));
|
||||
pipe.Textures[unit].FirstSlice = (uint32_t)firstSlice;
|
||||
|
||||
GLuint samp;
|
||||
gl.glGetIntegerv(eGL_SAMPLER_BINDING, (GLint *)&samp);
|
||||
|
||||
pipe.Samplers[unit].Samp = rm->GetOriginalID(rm->GetID(SamplerRes(ctx, samp)));
|
||||
|
||||
if(samp != 0)
|
||||
gl.glGetSamplerParameterfv(samp, eGL_TEXTURE_BORDER_COLOR, &pipe.Samplers[unit].BorderColor[0]);
|
||||
else
|
||||
gl.glGetTexParameterfv(target, eGL_TEXTURE_BORDER_COLOR, &pipe.Samplers[unit].BorderColor[0]);
|
||||
|
||||
pipe.Samplers[unit].UseBorder = false;
|
||||
pipe.Samplers[unit].UseComparison = shadow;
|
||||
|
||||
GLint v;
|
||||
v=0;
|
||||
if(samp != 0)
|
||||
gl.glGetSamplerParameteriv(samp, eGL_TEXTURE_WRAP_S, &v);
|
||||
else
|
||||
gl.glGetTexParameteriv(target, eGL_TEXTURE_WRAP_S, &v);
|
||||
pipe.Samplers[unit].AddressS = SamplerString((GLenum)v);
|
||||
pipe.Samplers[unit].UseBorder |= (v == eGL_CLAMP_TO_BORDER);
|
||||
|
||||
v=0;
|
||||
if(samp != 0)
|
||||
gl.glGetSamplerParameteriv(samp, eGL_TEXTURE_WRAP_T, &v);
|
||||
else
|
||||
gl.glGetTexParameteriv(target, eGL_TEXTURE_WRAP_T, &v);
|
||||
pipe.Samplers[unit].AddressT = SamplerString((GLenum)v);
|
||||
pipe.Samplers[unit].UseBorder |= (v == eGL_CLAMP_TO_BORDER);
|
||||
|
||||
v=0;
|
||||
if(samp != 0)
|
||||
gl.glGetSamplerParameteriv(samp, eGL_TEXTURE_WRAP_R, &v);
|
||||
else
|
||||
gl.glGetTexParameteriv(target, eGL_TEXTURE_WRAP_R, &v);
|
||||
pipe.Samplers[unit].AddressR = SamplerString((GLenum)v);
|
||||
pipe.Samplers[unit].UseBorder |= (v == eGL_CLAMP_TO_BORDER);
|
||||
|
||||
v=0;
|
||||
if(samp != 0)
|
||||
gl.glGetSamplerParameteriv(samp, eGL_TEXTURE_COMPARE_FUNC, &v);
|
||||
else
|
||||
gl.glGetTexParameteriv(target, eGL_TEXTURE_COMPARE_FUNC, &v);
|
||||
pipe.Samplers[unit].Comparison = ToStr::Get((GLenum)v).substr(3).c_str();
|
||||
|
||||
v=0;
|
||||
if(samp != 0)
|
||||
gl.glGetSamplerParameteriv(samp, eGL_TEXTURE_MIN_FILTER, &v);
|
||||
else
|
||||
gl.glGetTexParameteriv(target, eGL_TEXTURE_MIN_FILTER, &v);
|
||||
pipe.Samplers[unit].MinFilter = SamplerString((GLenum)v);
|
||||
|
||||
v=0;
|
||||
if(samp != 0)
|
||||
gl.glGetSamplerParameteriv(samp, eGL_TEXTURE_MAG_FILTER, &v);
|
||||
else
|
||||
gl.glGetTexParameteriv(target, eGL_TEXTURE_MAG_FILTER, &v);
|
||||
pipe.Samplers[unit].MagFilter = SamplerString((GLenum)v);
|
||||
|
||||
if(samp != 0)
|
||||
gl.glGetSamplerParameterfv(samp, eGL_TEXTURE_MAX_ANISOTROPY_EXT, &pipe.Samplers[unit].MaxAniso);
|
||||
else
|
||||
gl.glGetTexParameterfv(target, eGL_TEXTURE_MAX_ANISOTROPY_EXT, &pipe.Samplers[unit].MaxAniso);
|
||||
|
||||
gl.glGetTexParameterfv(target, eGL_TEXTURE_MAX_LOD, &pipe.Samplers[unit].MaxLOD);
|
||||
gl.glGetTexParameterfv(target, eGL_TEXTURE_MIN_LOD, &pipe.Samplers[unit].MinLOD);
|
||||
gl.glGetTexParameterfv(target, eGL_TEXTURE_LOD_BIAS, &pipe.Samplers[unit].MipLODBias);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -100,6 +100,30 @@ namespace renderdoc
|
||||
[CustomMarshalAs(CustomUnmanagedType.TemplatedArray)]
|
||||
public Texture[] Textures;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public class Sampler
|
||||
{
|
||||
public ResourceId Samp;
|
||||
[CustomMarshalAs(CustomUnmanagedType.UTF8TemplatedString)]
|
||||
public string AddressS, AddressT, AddressR;
|
||||
[CustomMarshalAs(CustomUnmanagedType.FixedArray, FixedLength = 4)]
|
||||
public float[] BorderColor;
|
||||
[CustomMarshalAs(CustomUnmanagedType.UTF8TemplatedString)]
|
||||
public string Comparison;
|
||||
[CustomMarshalAs(CustomUnmanagedType.UTF8TemplatedString)]
|
||||
public string MinFilter;
|
||||
[CustomMarshalAs(CustomUnmanagedType.UTF8TemplatedString)]
|
||||
public string MagFilter;
|
||||
public bool UseBorder;
|
||||
public bool UseComparison;
|
||||
public float MaxAniso;
|
||||
public float MaxLOD;
|
||||
public float MinLOD;
|
||||
public float MipLODBias;
|
||||
};
|
||||
[CustomMarshalAs(CustomUnmanagedType.TemplatedArray)]
|
||||
public Sampler[] Samplers;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public class Buffer
|
||||
{
|
||||
|
||||
+876
-928
File diff suppressed because it is too large
Load Diff
@@ -199,9 +199,11 @@ namespace renderdocui.Windows.PipelineState
|
||||
samplers.Nodes.Clear();
|
||||
if (state.Textures != null)
|
||||
{
|
||||
int i = 0;
|
||||
foreach (var r in state.Textures)
|
||||
for (int i = 0; i < state.Textures.Length; i++)
|
||||
{
|
||||
var r = state.Textures[i];
|
||||
var s = state.Samplers[i];
|
||||
|
||||
ShaderResource shaderInput = null;
|
||||
BindpointMap map = null;
|
||||
|
||||
@@ -226,79 +228,144 @@ namespace renderdocui.Windows.PipelineState
|
||||
(showEmpty.Checked && !filledSlot) // it's empty, and we have "show empty"
|
||||
)
|
||||
{
|
||||
string slotname = i.ToString();
|
||||
|
||||
if (shaderInput != null && shaderInput.name != "")
|
||||
slotname += ": " + shaderInput.name;
|
||||
|
||||
UInt32 w = 1, h = 1, d = 1;
|
||||
UInt32 a = 1;
|
||||
string format = "Unknown";
|
||||
string name = "Shader Resource " + r.Resource.ToString();
|
||||
string typename = "Unknown";
|
||||
object tag = null;
|
||||
|
||||
if (!filledSlot)
|
||||
// do texture
|
||||
{
|
||||
name = "Empty";
|
||||
format = "-";
|
||||
typename = "-";
|
||||
w = h = d = a = 0;
|
||||
}
|
||||
string slotname = i.ToString();
|
||||
|
||||
// check to see if it's a texture
|
||||
for (int t = 0; t < texs.Length; t++)
|
||||
{
|
||||
if (texs[t].ID == r.Resource)
|
||||
if (shaderInput != null && shaderInput.name != "")
|
||||
slotname += ": " + shaderInput.name;
|
||||
|
||||
UInt32 w = 1, h = 1, d = 1;
|
||||
UInt32 a = 1;
|
||||
string format = "Unknown";
|
||||
string name = "Shader Resource " + r.Resource.ToString();
|
||||
string typename = "Unknown";
|
||||
object tag = null;
|
||||
|
||||
if (!filledSlot)
|
||||
{
|
||||
w = texs[t].width;
|
||||
h = texs[t].height;
|
||||
d = texs[t].depth;
|
||||
a = texs[t].arraysize;
|
||||
format = texs[t].format.ToString();
|
||||
name = texs[t].name;
|
||||
typename = string.Format("Texture{0}D", texs[t].dimension);
|
||||
if (texs[t].cubemap)
|
||||
typename = "TexCube";
|
||||
|
||||
tag = texs[t];
|
||||
name = "Empty";
|
||||
format = "-";
|
||||
typename = "-";
|
||||
w = h = d = a = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// if not a texture, it must be a buffer
|
||||
for (int t = 0; t < bufs.Length; t++)
|
||||
{
|
||||
if (bufs[t].ID == r.Resource)
|
||||
// check to see if it's a texture
|
||||
for (int t = 0; t < texs.Length; t++)
|
||||
{
|
||||
w = bufs[t].length;
|
||||
h = 0;
|
||||
d = 0;
|
||||
a = 0;
|
||||
format = "";
|
||||
name = bufs[t].name;
|
||||
typename = "Buffer";
|
||||
if (texs[t].ID == r.Resource)
|
||||
{
|
||||
w = texs[t].width;
|
||||
h = texs[t].height;
|
||||
d = texs[t].depth;
|
||||
a = texs[t].arraysize;
|
||||
format = texs[t].format.ToString();
|
||||
name = texs[t].name;
|
||||
typename = string.Format("Texture{0}D", texs[t].dimension);
|
||||
if (texs[t].cubemap)
|
||||
typename = "TexCube";
|
||||
|
||||
// for structured buffers, display how many 'elements' there are in the buffer
|
||||
if (bufs[t].structureSize > 0)
|
||||
typename = "StructuredBuffer[" + (bufs[t].length / bufs[t].structureSize) + "]";
|
||||
|
||||
tag = bufs[t];
|
||||
tag = texs[t];
|
||||
}
|
||||
}
|
||||
|
||||
// if not a texture, it must be a buffer
|
||||
for (int t = 0; t < bufs.Length; t++)
|
||||
{
|
||||
if (bufs[t].ID == r.Resource)
|
||||
{
|
||||
w = bufs[t].length;
|
||||
h = 0;
|
||||
d = 0;
|
||||
a = 0;
|
||||
format = "";
|
||||
name = bufs[t].name;
|
||||
typename = "Buffer";
|
||||
|
||||
// for structured buffers, display how many 'elements' there are in the buffer
|
||||
if (bufs[t].structureSize > 0)
|
||||
typename = "StructuredBuffer[" + (bufs[t].length / bufs[t].structureSize) + "]";
|
||||
|
||||
tag = bufs[t];
|
||||
}
|
||||
}
|
||||
|
||||
var node = textures.Nodes.Add(new object[] { slotname, name, typename, w, h, d, a, format });
|
||||
|
||||
node.Image = global::renderdocui.Properties.Resources.action;
|
||||
node.HoverImage = global::renderdocui.Properties.Resources.action_hover;
|
||||
node.Tag = tag;
|
||||
|
||||
if (!filledSlot)
|
||||
EmptyRow(node);
|
||||
|
||||
if (!usedSlot)
|
||||
InactiveRow(node);
|
||||
}
|
||||
|
||||
var node = textures.Nodes.Add(new object[] { slotname, name, typename, w, h, d, a, format });
|
||||
// do sampler
|
||||
{
|
||||
string slotname = i.ToString();
|
||||
|
||||
node.Image = global::renderdocui.Properties.Resources.action;
|
||||
node.HoverImage = global::renderdocui.Properties.Resources.action_hover;
|
||||
node.Tag = tag;
|
||||
if (shaderInput != null && shaderInput.name.Length > 0)
|
||||
slotname += ": " + shaderInput.name;
|
||||
|
||||
if (!filledSlot)
|
||||
EmptyRow(node);
|
||||
string borderColor = s.BorderColor[0].ToString() + ", " +
|
||||
s.BorderColor[1].ToString() + ", " +
|
||||
s.BorderColor[2].ToString() + ", " +
|
||||
s.BorderColor[3].ToString();
|
||||
|
||||
if (!usedSlot)
|
||||
InactiveRow(node);
|
||||
string addressing = "";
|
||||
|
||||
string addPrefix = "";
|
||||
string addVal = "";
|
||||
|
||||
string[] addr = { s.AddressS, s.AddressT, s.AddressR };
|
||||
|
||||
// arrange like either STR: WRAP or ST: WRAP, R: CLAMP
|
||||
for (int a = 0; a < 3; a++)
|
||||
{
|
||||
string prefix = "" + "STR"[a];
|
||||
|
||||
if (a == 0 || addr[a] == addr[a - 1])
|
||||
{
|
||||
addPrefix += prefix;
|
||||
}
|
||||
else
|
||||
{
|
||||
addressing += addPrefix + ": " + addVal + ", ";
|
||||
|
||||
addPrefix = prefix;
|
||||
}
|
||||
addVal = addr[a];
|
||||
}
|
||||
|
||||
addressing += addPrefix + ": " + addVal;
|
||||
|
||||
if (s.UseBorder)
|
||||
addressing += String.Format("<{0}>", borderColor);
|
||||
|
||||
string minfilter = s.MinFilter;
|
||||
|
||||
if (s.MaxAniso > 1)
|
||||
minfilter += String.Format(" Aniso{0}x", s.MaxAniso);
|
||||
|
||||
if (s.UseComparison)
|
||||
minfilter = String.Format("{0}", s.Comparison);
|
||||
|
||||
var node = samplers.Nodes.Add(new object[] { slotname, addressing,
|
||||
minfilter, s.MagFilter,
|
||||
(s.MinLOD == -float.MaxValue ? "0" : s.MinLOD.ToString()) + " - " +
|
||||
(s.MaxLOD == float.MaxValue ? "FLT_MAX" : s.MaxLOD.ToString()),
|
||||
s.MipLODBias.ToString() });
|
||||
|
||||
if (!filledSlot)
|
||||
EmptyRow(node);
|
||||
|
||||
if (!usedSlot)
|
||||
InactiveRow(node);
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
textures.EndUpdate();
|
||||
|
||||
@@ -126,15 +126,6 @@
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>140, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>140, 17</value>
|
||||
</metadata>
|
||||
<metadata name="groupBox2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="groupBox44.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="groupBox2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
@@ -144,21 +135,6 @@
|
||||
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>239, 17</value>
|
||||
</metadata>
|
||||
<metadata name="groupBox42.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="label15.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="label16.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="label17.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="frontCCW.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
@@ -276,7 +252,4 @@
|
||||
<metadata name="rightclickMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>239, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
Reference in New Issue
Block a user